<MDG.Technology version="1.0">
  <Documentation id="GoF" name="Gang of Four Patterns" version="2" notes="Use patterns from the book Design Patterns by Gamma, Helm, Johnson and Vlissides." infoURI="http://www.sparxsystems.com" supportURI="support@sparxsystems.com" categoryList="Gang of Four" categoryMappings="Creational=Gang of Four;Behavioral=Gang of Four;Structural=Gang of Four;"/>
  <Logo>
    <Image type="bitmap" xmlns:dt="urn:schemas-microsoft-com:datatypes" dt:dt="bin.base64">
      Qk1mdQAAAAAAADYAAAAoAAAAZAAAAGQAAAABABgAAAAAADB1AAATCwAAEwsAAAAAAAAAAAAA
      wMDAwMDAwMDAwMDAwMDAwMDAubezmIVwf2A+bkccZDgIZDkIZTkIZDgIZTkHZDkIZDgHZTkI
      ZDkIZTkIZDkIZTkHZTkIZDgIZTkIZDkIZTkIZTkIZDkIZTgIZTkIZTgIZDkHZTkIZTkIZTgI
      ZDkIZDkIZTkIZTkIZDkIZTgIZTkIZDkIZTkIZTkIZTgIZTkIZTgIZTgIZTkIZDkIZTkIZTkI
      ZDkHZTkIZTkHZTkIZDgHZTgIZTkIZDkIZTkIZDkIZTkIZTkIZDkHZTkHZTkIZTkHZDgIZTkI
      ZTkIZTgIZTkIZTkIZDgIZTkIZDkIZTkHZTkIZTkHZDkIZTgHZTkIZDkIZTkIZTgIZTkIZTgI
      b0gcgGE+mIVwubezwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAkXpgZz0NZToJ
      ZToJZToJZjkJZToKZjoJZjoJZTkJZTkJZTkJZjkJZjoKZToKZToKZjoKZToJZToJZjkJZjkJ
      ZTkKZToJZjoJZTkJZjoKZjoJZjoJZToJZToJZToKZjkJZTkJZTkJZjkJZTkJZjkJZjoJZjoJ
      ZjoJZjoJZjoJZToKZToJZToJZjoJZjoJZjkJZToJZToKZjoJZTkJZToJZjoJZjoJZTkJZjoJ
      ZToJZjoJZjoJZToJZTkJZToKZjoKZjkKZjkJZToJZjoJZTkJZToKZjoJZjoJZjkJZToKZjkK
      ZjkJZjkJZjkJZTkJZToKZjkKZjoJZToKZToJZTkJZjkJZTkJZjoJZz0OkXlgwMDAwMDAwMDA
      wMDAwMDAwMDAwMDAwMDAsaujeFUwZzoKZjsLZjoKZjoKZzsKZzsLZjsLZjsKZjsKZjsKZjsL
      ZzsLZjsLZjoLZjsLZjsLZjsKZjsLZjsKZzoKZjoKZzsLZzoLZzoKZzsLZzoKZzsKZjsKZjsL
      ZzsLZzsLZjsKZjsKZzsLZjoKZjsKZjsKZjoLZzsKZjsLZjsKZzsKZjsLZzsKZjsKZjsKZzsK
      ZjsKZzsLZzoLZjsKZjsLZzsKZjsKZjsKZzoKZjsKZzsLZjoLZjsLZzsKZjsLZjoKZzoLZzoK
      ZjoLZzsKZjsKZjsKZjsLZzsKZjoKZjsKZzsLZjsLZjsLZzsKZzsKZjsKZjsKZzsLZzsLZjsL
      ZjsKZzsLZzsLZzsLZjsKZzsLZjsLeFYwsaujwMDAwMDAwMDAwMDAwMDAsqujcUogZzwMZzsM
      ZzwLZzwMbUQYjXVappmKtrKtwcLBwsLCwcLCwcHCwcLCwcHBwcHCwcHCwcLBwcHBwcHBwcHB
      wcHCwsLCwcHBwsHBwsLBwsLBwsHBwcHCwcHBwsHBwcHBwsHBwsHCwsLCwsLBwsHBwsHCwsHC
      wcLCwsHBwsLBwcLCwcLBwcHCwcHBwcHBwcLBwcHCwcLCwcHBwsHBwcHBwcLBwsHBwcHCwsHB
      wsHBwcHBwcLCwsLCwcHCwcHCwcLCwsHBwsHCwsLCwsLBwsLBwcLBwcHCwcLBwcLCwsLBwcLC
      wcHCwsHCwsLCwsLBwcHBwsLBwcLCwsLBwsLCwsHCtrGsppmLjXVabUQYZzwLZzwMaDsLaDsM
      cUsgsqujwMDAwMDAwMDAwMDAelgyaDwNaD0NaD0NaD0NloJrv769wsLCwsPCw8LCw8LCwsLC
      wsLCwsLCwsLCwsLCwsLCw8LCwsPCw8LCwsLCwsLCwsLCwsLCwsLCw8PCwsLCwsLCwsLCwsPC
      w8LCw8LDwsLCwsLCw8LCw8LCwsLCwsLCwsLDwsLCwsLCwsLCwsLCwsPCwsLCwsPCwsLCwsLD
      wsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsPCwsLCwsLCwsLCwsLDwsLCwsLCwsLC
      wsLCwsLCwsPCwsLDwsPCwsLCwsLCwsLCwsPCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsPC
      wsPDwsLCwsLCwsLCwsLCv7+9loJraD0NaDwOaDwOaD0Ne1gywMDAwMDAwMDAk3xjaT4PaT4O
      aT4PdlIqr6ecw8LDw8LDw8PCw8PDw8LDw8PCw8PCw8LDw8PDw8PDw8PDw8PDwsLDw8PDw8PD
      w8PDwsPDw8PCw8LCwsPDw8PDw8PDwsLDwsPDwsLDw8PDw8PDw8LDw8LDw8PDwsPDw8PCw8LD
      w8PDw8LDw8PDw8PDwsPCwsPCw8PCw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8LCw8LDw8PDw8PD
      w8PDw8PDw8PCw8PDw8PDw8LDw8LDw8PDw8LDw8PDw8PCw8PCw8PCw8PCw8LDwsPDw8PDw8PC
      wsPCwsPDw8LDw8PDw8LDw8PDw8PDw8PDw8LDw8PDw8PDw8LDwsPCw8PDw8PCwsLDw8PDr6ed
      d1IqaT4Oaj4OaT4PknxjwMDAure0a0IUaj8Paj8Paj4Qsaedw8TExMTDxMTDxMPDw8PDw8PD
      xMTDxMPDxMTEw8PDxMTDxMTDw8TDw8PDw8PEw8TDxMTDw8TDxMPDw8PExMPExMTDw8PExMPD
      xMPDw8PExMPDxMPDw8TEw8TEw8TExMPDw8PDxMTEw8TExMPDw8PExMTDw8TDw8TDxMTDxMTE
      w8TDw8PDw8PDw8TDw8TDw8PDxMPEw8TExMTDw8PDxMTDw8TEw8TDxMTEw8PEw8PDw8PDxMPE
      xMTEw8TDxMTDw8PExMTDw8PDxMPExMTExMTExMPDw8TDxMTExMTDxMTExMTDw8PDxMTDw8PE
      w8PDw8TEw8PExMTExMPDxMPEw8PDxMTExMTExMPDsaieaj4Qaj8Paj8QbEIUure0moh0a0AR
      a0ARa0ARmIRuxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMXExMTExMTE
      xMTExMXExMTExMTExMTExcTExMTFxMTExMXExMTExMTExMTExMTExMTExMTExMTExMTExMTE
      xMTExMTExMXExMTExMTExMTExMTExMTExMTExMTFxMTExMTFxMXExMTExMTExMTExMTExMTE
      xMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTF
      xMTExMTExMTExMTExcTExMTExMTExMTExcTExMTExMTExMTExMTExMTExMTExMTExMTExMTE
      xMTExMTExMTEmYRua0ASa0ARa0ARm4h0hWZFbEETbEETcUkewsHAxcXFxcXExcXFxcXExcTE
      xcXFxcXExMTFxcTFxcXFxcTFxcXFxcXFxcXFxcXExMXFxcTFxMXExcXFxcXFxcXFxcXFxMTF
      xcXExcXExcXExcXExcXExcXFxcXFxMXFxMXExcXFxcTFxMXExcXFxMTExcTFxcXFxcXFxcXF
      xcXExcTFxcXFxMXFxcXFxMXExcTExcXFxcTExcTFxMTFxcXExcXFxMXFxcXExcXExcTExcXF
      xMTFxcXFxcXFxcXExMXExcTFxcXFxMXFxcXFxcXFxMXExcTFxcXExcXExcTFxcXFxcXFxcXF
      xcXFxcXExcXFxMXFxMTExcXFxcXFxcXFxcXFxMXExcXFxcTExcXFwsHAcUkebEETbEEThWZF
      dlAnbEIUbUIUknpgxcXGxsbFxsbGxsXGxsXFxsbFxsXFxsXFxsbGxcbGxcXGxcbGxsXGxcXF
      xcXFxcbFxsbFxcbFxcXFxcbGxcXGxcXFxcXGxsbFxcXFxsbGxsbGxcXGxcXGxcXFxcbFxcbF
      xcXGxcXFxsXFxcbGxcbFxsbFxsXFxsXFxsbGxcXFxsXFxsXGxsXFxcXGxcXGxcXFxcbGxcXG
      xsXFxcbFxsbFxcbGxcbGxsXFxcbFxcbGxcXFxsbFxcXFxcXFxsbFxcXGxsbFxcXGxcXFxcXG
      xsXGxcXGxcXFxcbGxsXFxcXGxcbFxcbGxcXFxsXFxcbFxsbFxcbFxcXGxcXFxcbFxsbGxsbF
      xcXFxcbFxcXGxcbFxcXFxcbFknpgbUIUbEITdVAnbUMVbUMVbkMVq56RxsbGxsbGx8fGxsbG
      xsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbHxsbGxsbGxsbGxsbGxsfGxsbG
      xsbGxsbGxsbGxsbGxsbGxsbGxsbGx8bGxsbGxsbGxsbHxsbGxsbGxsbGxsfGxsbGxsfHxsbG
      xsbGxsbGxsbGx8bGxsbGxsbGxsbGxsbGxsbHxsbGx8bGxsbGxsbGxsbGxsbGxsbGxsbGxsbG
      x8fGxsbGxsbGxsbGxsbGx8bGxsbGxsbGxsfGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbG
      xsfGxsbGxsbGxsbGxsbGxsbGxsfGxsbHxsbGx8bGxsbGx8bGxsbGxsbGxsbHx8bGq56RbUMV
      bkMUb0UYbkQWbkQWb0QXvLeyx8fHxsfGx8bGxsbHx8fHx8bGx8fHxsfGxsfHx8fGx8fHx8bH
      x8bGxsfGx8fHx8fHx8fGx8bGxsbHx8fHxsfHxsfHx8fHx8fHxsfGx8bHx8fGx8fHxsfGx8bH
      x8fHx8fHxsfHx8fHx8fHx8fHx8fGx8bGx8fHx8fHxsbGx8fHxsfGx8fHx8fHx8bGx8bHx8bG
      x8fHx8fHxsfHx8fHx8fHxsbGx8fGx8fGxsfHxsfGxsfHx8bHx8fHx8fHx8bGx8fHxsfHx8bH
      x8bGx8fGxsfHx8bHx8fHx8fHx8bHx8fHx8bHxsfHx8fGx8fGx8fHxsbHx8fGx8bHx8fHx8bH
      xsbHx8bGx8fGx8fGxsfGx8fGx8fGxsfGu7iyb0QWb0QWbkQWb0UXb0UYb0UYx8jHx8fHx8jH
      yMfHyMjHx8jHyMfHyMfHyMfHx8jHyMfIyMfHyMjIx8fHx8jIx8fIx8fHx8fIx8fIx8jIyMjI
      x8jHyMjHx8fHx8jHyMjHx8fHx8fHx8jIx8jHyMfIx8fHx8jHx8jIx8jHx8jHx8jHx8fHx8fH
      x8fHx8jIx8jHyMfHx8jHyMfIx8jHyMjHyMfHyMjHx8jIx8fHx8jIx8fHx8jHx8jHx8jIyMfH
      x8jHyMjHx8fIx8fHx8fIx8fIx8fHyMfIyMfIx8jHyMfIx8fHx8jHx8fHyMjIyMjHx8fHyMfI
      yMfHx8jIx8fIx8fIx8fHyMfHyMfIx8jHx8jHx8jIx8jHx8fHx8fHx8fHyMjIx8fIx8fHyMfH
      xcTEcEUYb0UXcEUYcEYZcEYYcEYZyMjIyMnJyMjIyMjIyMjIycjIyMjIyMjIyMjIyMjIyMjI
      yMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI
      ycjIyMjIyMjIyMjIyMjIyMjIyMjJyMjJyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI
      yMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMnIyMjIyMjIyMjIyMjIyMjI
      yMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIycjIyMjJyMjIyMnIyMjIyMjIyMjI
      yMjIyMjIyMjIyMjIyMjIyMjIyMnIyMjIyMjIyMjIyMjIcEYZcEYZcEYZcUcacUcacUcaycjI
      ycjJyMjIycjJycjJyMnIyMnIycnIycjJycnJyMnJycjJycnJycnJycnIycnJycnIyMnIycnJ
      eFMljGpAjGpAjGpAjGpAjGpAjGpAjGpAjGpAjGpAjGpAjGpAjGpAg10wsKSWyMnIycnJycjJ
      yMnJycnJycjIyMnIycjJycnJycjIycjJycnJyMnIyMnIyMjJycjJvLavl39jo5J8yMjJycjJ
      yMnJycjJyMjJyMjJyMnJyMjJycnIycnIycnIyMnJyMnJycnJyMjIycjJyMnIycjJycjIycnI
      ycjJycnIyMnJycnJyMnIycnJycnJycnJycjJycnJycjJycnIycnJycnJycjJycnJycjJycnI
      yMnJycnIycnJcUcbckcackgackgcckgbckkbycrJysnKysrJysrJycrJysrKysnJysrKycnJ
      ycnKycrKysnKysrKysrJysrJysrKysrKycnJtq2jn4Ng////////////4trP4trP////////
      4trP7Obf////s5yA////9fPvhWI4ycnJysrJysrJysnKycnJysnJysnKycrJysnJycnJysnJ
      ysnKycnJycnJysnKt66jbEEMlnZQckoZycrKycnJysnJycnKycrJycnKysnKycnKysnJysnK
      ysrJycnJycnJycnJycrJycrKycnKycrJycnJycnJysnJysnKysnKysrJycnKycnJysrKycrK
      ycnJycnKysrJysrJysnJycrJycrJysrJysnJycnJycnJycrJysnKckgcckgcckgcc0kdc0kd
      c0kcysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrK
      ysrKt66jn4Ng////////////////lnZQ2c2/////7Obfn4Ng////vKiPz8Gv////xrSfpJN9
      ysrKysrKysrLysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKpJN9bEEMqY9w////lnZQ
      sKWXysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrK
      ysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysvKysrKysrKysrKysrKysrKysrK
      ysrKy8rKysrKysrKysrKc0kcc0kdc0kddEoedEoedEoey8rKysvLy8vLy8rLy8rLy8vLy8rL
      ysrKy8vLy8rLysvLy8rLysvLysvLysvKy8vKy8vLy8rLy8vKf1wys5yA////////////9fPv
      n4Ng4trP////n4NgxrSf////jGpA9fPv////jGxFy8vLy8vLy8rLy8vLy8vLy8vLy8rLy8vK
      y8vLy8rLy8rLxMG+hWY/eVEgz8Gv////////4trPhWI4ysvLy8vLy8vKy8rKy8vLy8vLy8vL
      y8rLy8rKy8vLy8rLy8vLy8vLy8vLy8rLy8vKy8vLy8vKysrKy8vLysvLysvLy8vLysvKysvL
      y8vLy8vLysvKy8vLy8vLy8vLy8vLy8vLy8vKysrLy8vLy8vKy8vKy8vLy8vLc0sedEofdEof
      dEsfdUsgdEsgy8zMy8zMy8vLzMvLzMzLy8vLzMvMy8vMy8zMy8zMy8vMzMvMy8vMy8vMy8vL
      y8vMzMzLzMvMy8vMxcG/jG9MlnZQ9fPv////////////jGpA4trP2c2/jGpAlnZQg10wqY9w
      ////s5yAsaaYy8zMy8vMy8zMy8zLy8zLy8zMzMvLy8vMzMvLpJR+dU0cs5yA9fPvz8Gvz8Gv
      ////////qY9wlXtcy8vMy8vLy8vMy8vLy8vMy8vLy8vMy8vLy8zMy8vLy8vMy8vMy8zLzMvL
      zMvLy8vMzMvLy8vLy8vLy8vMy8zMy8zMy8vMy8vLy8zLy8vLzMzLzMvLy8vMy8vLzMvLy8vL
      zMvMzMvMy8vLzMzMy8vMy8vLy8zLdUsgdUsgdUsfdk0gdkwgdk0hzMzMzMzMzMzMzMzMzMzM
      zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMy8zMzMzMzMzMpZR/f1os
      4trP////////9fPveVEgn4NgxrSf////7Obfn4NgjGpAz8GvgmA2zMzMzMzMzMzMzMzMzMzM
      zMzMzMzMpZR/fFYps5yA2c2/////////////vKiP7Obf////////n4NghmZAxcK/zMzMzMzM
      zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
      zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMdUwh
      dUwhdk0hd00id00idk0izM3NzM3NzMzNzczNzMzMzM3MzczNzMzMzM3Nzc3Nzc3MzM3Mzc3M
      zczMzc3MzM3MzM3Mzc3Nzc3MzM3Nzc3NzM3MwLqzeVMms5yA////////7Obfg10w2c2/////
      ////////4trPn4Ngs5yAf10zxcO/zc3Nzc3NzczNs6eZf10zqY9w9fPv7Obfg10wz8Gv////
      ////9fPvn4Ng////////////vKiPdU0cuLClzc3Nzc3NzM3Mzc3Nzc3NzczNzc3Nzc3NzczN
      zc3Nzc3Mzc3MzczMzc3MzczNzMzNzMzMzM3NzM3NzM3Nzc3Mzc3NzczNzczNzc3MzM3Nzc3M
      zc3NzM3Nzc3Nzc3Nzc3Nzc3Nzc3MzMzMzc3Nd00id04idk0ieE8jeE4kd04jzc3Ozs3Nzc3N
      zs3Ozc3Ozc3Nzc3Nzc3Nzc3Nzc7Ozs3Nzs3Ozc3Ozc7Nzc3Nzc3Nzs3Ozc3Ozc3Nzc3Ozs3N
      zs7Nzc3Ozs3Nk3lag10w7Obf////s5yA////////////////////////////z8GveVEgf10z
      f10zfFcpn4NgxrSf7Obf////////9fPvlnZQ9fPv////////jGpA////////////////4trP
      g10wk3laxsPBzc3Ozc3Nzc3Ozs3Nzs3Nzs3Nzc7Nzc3Nzc7Ozs3Nzc3Nzc3Nzc3Nzc3Nzc3N
      zc3Ozc7Nzs3Nzc7Ozc3Nzc3Ozs7Nzc3Nzc7Nzc3Nzs3Nzc3Ozs3Nzc7Nzc7Nzc7Nzc7Ozc3N
      zc7Nd04jeE4jeE4jeU8keFAkeE8lzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O
      zs7Ozs7Ozs7Ozs7Ozs3Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OrZ6NfFcpvKiPvKiP
      ////////////////////////////////////qY9wqY9w////////xrSfg10w9fPv////////
      7ObfjGpA7Obfs5yAn4Ng////////////////////////s5yAbEEMs6iazc7Ozs7Ozs7Ozs7O
      zs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Nzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O
      zs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Nzs7OeU8leE8leE8keVAmeVEmeVEmzs7P
      z8/Pzs/Ozs7Pzs7Pz8/Pzs/Oz8/Ozs/Pz8/Pz87Pzs7Pz87Pz87Pzs/Pzs/Pz8/Oz8/Oz8/P
      zs7Pz87Pzs/Pz8/Pz87Ozs7Pzs/PyMXBlHpag10w9fPv////////////////////////////
      ////9fPvs5yAlnZQ9fPv////4trPjGpA7Obf4trPz8GvjGpAjGpAz8Gv////////////////
      ////////////////2c2/eVEgoIx0zs/Ozs/Ozs7Pz8/Pzs/Oz8/Pzs7Pzs/Pz8/Oz8/Pzs/P
      z87Ozs/Pz87Oz87Pz8/Pz8/Pz87Pz8/Pzs/Pzs7Oz8/Oz8/Pzs/Pz8/Pzs7Ozs/Ozs7Ozs7O
      zs/Pzs7Pz87OeVAmeVEmeVAmelInelEoelEn0M/Pz8/Pz8/P0M/Pz9DP0M/Qz8/Pz9DPz8/Q
      z9DPz8/Pz8/Pz8/Pz9DPz8/P0NDQ0M/Pz8/P0M/Pz9DQz8/Pz8/Q0NDPz9DP0M/P0M/Pz9DP
      z8/QrqCOs5yA////////////////////////////////////////2c2/cEQQz8GvxrSfn4Ng
      g10ws5yA2c2/////////////////////////////////////////////////9fPvlnZQjXBN
      0M/Pz8/P0M/P0NDP0NDP0M/Pz8/Pz8/P0M/Pz9DQz8/Q0NDQz8/P0M/Qz9DQz8/Pz9DPz9DP
      z8/P0M/Qz9DP0M/Pz8/Pz8/Pz8/Pz8/Pz8/Q0M/Q0M/Pz8/Pz8/PelEnelEnelIne1Ipe1Mp
      e1Io0NDQ0NDQz9DQ0NDQ0NDQ0NDP0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ
      0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQoY10xrSf////////////////////
      ////////////////////////4trPvKiPz8Gv4trP////////////////////////////////
      ////////////////////////////////////n4NgmoNn0NDQ0NDQ0NDQ0NDQ0NDQ0NDP0NDQ
      0NDQ0NDP0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDP0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0M/Q
      0NDQ0NDQz9DQ0NDQ0NDQe1Ipe1Moe1IpfFMqfFQpfFQq0dDR0dDR0NHR0NHQ0NDR0NHQ0dDQ
      0dHR0NDR0dDR0dDQ0dDR0NHQ0NDR0dHR0NHR0NHQ0dHQ0NDQ0dDR0dDQ0dHQ0dDR0NDR0dHQ
      0dHR0dHR0dDQlHpbxrSfn4Ng////////////////////////////////////////////////
      ////////////////////////////////9fPv2c2/2c2/2c2/2c2/2c2/2c2/2c2/2c2/2c2/
      2c2/s5yAgF400NDR0dHQ0dDR0NDR0dDQ0NDR0NDR0NHR0dDQ0dHR0dHR0NDQ0NDQ0dHR0NDR
      0dHQ0dDR0NDR0NDR0NHQ0NHR0dHR0NHR0NDR0dDR0dHR0dHQ0dHQ0NDQ0dDRfFMqfFMqfFQq
      fVUrfVUsfVQr0tHS0dHS0dLR0tHR0tLR0dLR0dHR0dHR0dHS0dHS0dLR0dHR0dHR0dHR0dHS
      0dHR0dHR0dLR0tHR0dHS0dHR0tHS0tHR0dHR0dLS0dLR0tHRvbWqf1os////xrSfn4Ng////
      ////////////////////////////////////////2c2/s5yAvKiPs5yAn4NgjGpAeVEgc0sa
      m4Rom4Rom4Rom4Rom4Rom4Rom4Rom4Rom4Rom4Rom4Rom4RoxL220dHR0tHR0dHS0dHR0dHS
      0dLR0dHR0dLR0dHR0dHR0tLR0dHR0dLR0dHS0dLS0dLS0dHR0dLR0dLS0tHS0dHS0dHR0tHS
      0dHR0dHS0dHR0dLS0tLR0dLR0dHRfVUsfVQrfFQsflUtfVYsfVYt0tLS0tLS0tLS0tLR0tLS
      0tLS0tLS0tLR0tHS0tLS0tLS0tLS0tLS0dLR0tLS0tLS0tLS0tLS0dLS0tLS0dLS0tLR0tLS
      0tLS0tLS0tLSy8jEelQn2c2/////////vKiPvKiP////////////////////////////////
      z8GvqY9ws5yA2c2/2c2/2c2/2c2/2c2/vKiPeVEgjnFPvbWq0tLS0tLS0tLS0tLR0tLS0tLS
      0tLS0tLS0tLS0tHS0tLS0tLS0tLS0tLS0dLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLR0tLS
      0tLS0dLS0tLS0tHS0tLS0tLS0tLS0tHS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSfVYt
      fVUsfVUtflYuflcuflYu09PS09PT09LS09PS09LT09PS0tLS09PT09LT09LT09LS09LS09LT
      09LS09PS09LS09PT09PT09PT0tPT0tPT09PS09PT0tLT09LTt6uefVcqxrSfvKiPqY9w////
      9fPvjGpAz8Gv////////////////////////////9fPv////////////////////////////
      ////////xrSfeVEgjnJPzMnE0tPT09PT0tLS09PS09PT09PT09LS09LS09LT09PT09PT09PT
      0tLS09LS09PT09LT09LT0tLT09PS0tLT09PT09PS0tLS0tPS0tPT0tLT09LS0tLT0tLT09PT
      09LS09LT0tPT09PT0tPT09LT09LS09LT0tLSflYuf1Yuf1ctf1gvgFcvf1cv1NTU09PT09PU
      09PT09TT09TT09PT09PT09PT09PT09PU09PT09PT09TU09PT1NTT09PT09PT09PT09TT1NPT
      09PT1NTUxb+4j3JPg10w4trP////////vKiPs5yA////9fPvn4Ng////////////////////
      ////////////////////////////////////////////////////////vKiPfVcqvrWr09PT
      1NTT09TT1NTT1NTT1NPT09PU09PT09PT1NPT09PU09PT1NPT09PT09PT09PU09PT09PT09PT
      09TT09TT09PT09TU09PT09TT1NPT1NTT09PT09PT09PU09PT09PT09PT09PT09PU1NTT09PU
      09PTgFcvgFcvgFgvgFkwgVkxgVkw1NPU1NTU1NTU1NTU1NTT1NTU1NTU1NTU1NTU1NPU09TU
      1NTU09TU1NTU1NPU1NTU1NTU1NTU1NTU1NTTzcrGqpiEgV81eVEgvKiP4trPn4Ng9fPv////
      ////s5yAz8Gvg10w2c2/////////////////////////////////////////////////////
      ////////////////////////////4trPdk0dzcrF1NTU1NTT1NTU1NTT1NTU1NTU1NTT1NTU
      1NTU1NPU1NPU1NTU09TT1NPU1NTU1NTT1NTU1NTU1NTU1NTU1NTU1NTT1NTU09TU1NTU1NTU
      1NTU1NPU1NPT1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTUgVkwgFgxgVkwgloxgVkygVox1NXU
      1dXV1dXU1dXU1NXU1dTV1dXU1NXV1NXV1dTU1dTU1NXV1NTU1NXU1dXV1dXV1NXVsaORsqOS
      elUocEQQn4Ngz8Gv////7Obf////2c2/g10w9fPv////4trPqY9wxrSf////////////////
      lnZQqY9w4trP////////////////////////////////////////////////////////////
      2c2/lnxd1NXU1dTV1NXV1NXV1NXV1dTU1dXU1dTV1NXU1NXV1dXU1dTU1NXV1dTU1dXU1NTV
      1NTVzsvGua2eua2fuKyfua2ex8G51dXU1dTV1dTU1dXV1NXV1NXU1NXU1NXU1dXU1dTU1NTU
      1dTV1dXU1NTVgVoxgVoygVkyglozglozgloz1tXV1tXV1dXV1dXV1dXV1dXV1dXV1dbV1tXV
      1dXV1dbV1dXV1dXV1dXW1dXW1dbVx8G7aToCaToCeVEg////////////////s5yA4trP////
      4trPeVEgxrSfs5yAvKiP////////////////9fPvcUIJf04Vbj8HZjgAjGpAlnZQs5yAvKiP
      2c2/2c2/4trP////////////////////////////9fPvcEQQln1d1dXV1dXV1tbV1tXV1dXV
      1dXV1dbV1dXW1dbV1dXV1dbV1dXV1dXV1dXW1dbW1dXVhGE3glAXfUwTfUwTfUwTfUwTfUwT
      ekkQcUIJcUIJcUIJcUIJaToCelUopJB31dXV1dXV1dbV1dXV1dXVglszglszglszg1w0g1w0
      g1w11tbW1tXW1tbW1tbW1tbV1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbV1dbW1tbW1tbWnYZq
      f04VkF0jbj8Hg10w9fPv////////////qY9wz8Gv////7Obfg10wxrSf////////////////
      ////xrSfglAXk18lwqWEpHtMjF0nrJJycUIJcUIJcUIJcEQQZjgAZjgAZjgAz8Gv////////
      ////////n4NgjF0nbj8HkHNQzszI1tbW1tbW1tbW1tbW1tbW1tbW1tbW1dbW1tbW1tbW1dbW
      1dbW1tbWq5qFf04Vk18lk18lwqWEoXNAmmkztZFpk18lk18lk18loXNAk18lk18lkF0jgl81
      1tbV1tbW1tbW1tbW1dbWg1w0g1w1g1s0hF02hFw2hF0219fX1tbW19fW19fX1tfW19bX1tfX
      1tbX1tbX19bX19bX1tbW19fW1tfX1tfXzs3IckYSk18lk18lkF0jd0cOcEQQ2c2/////////
      ////vKiPn4NglnZQ4trP////////////////////////lnZQkF0jp31O0LmgoXNA5NfJrodc
      k18lp31O5NfJrodck18liFUccEQQ9fPv////////////xrSfgFMek18lkF0jcUIJe1UowLmu
      19fW1tfW1tbW1tfX1tbW1tbW19fW19bW1tfX19fX1tfX1tfXeVEfk18lk18lwqWEwqWEp31O
      5NfJoXNAk18lp31O3c27rodck18lk18li1geiWlD1tbW19fW1tbX19fW1tbXhFw2hF02hF02
      hF43hV43hF422NfX19fX19fY19fX19fX19jX2NfX2NfX2NfX2NfX19jX19fX19fX19fX19fX
      kHNQglAXk18lk18lk18lk18lhVMZaToCqY9w9fPv////////////////////////////////
      ////////7ObfdEQMvJt36+HW0Lmg8uvkrodck18lya+S0Lmgmmkzk18lf04VckcS4trP////
      ////////xrSfeEwXmmkzk18lk18lk18lf04VaToCmH1ez83J19fX19fX19fX2NfX19fX19fX
      19fX19fX19jXuq+hf04Vk18lwqWE5NfJwqWE6+HWoXNAk18lya+S3c27k18lk18lk18liFUc
      b0QPwbmu19fX19fX19fX19fX19fXhF03hV43hV03hl44hl84hV842NjY2NjY2NjY2NfY2NfX
      2NjY2NjY2NjY19jY2NjY2NfY2NjY19jY2NjYnodrcUIJk18lk18lk18lk18ltZFpmmkzkF0j
      dEQMeVEgxrSf////////////////////////////////////lnZQsZZ38uvk18Otp31O3c27
      oXNA3c27vJt3k18liFUccUIJlnZQ9fPv////////////xrSfbj8HkF0jk18lk18lk18ltZFp
      k18lkF0jfUwTdk4dtKWU2NjY2NjY2NjY2NjY2NjY2NfY2NjY19jYgmA2l2cwwqWE+PXx18Ot
      rodc5NfJoXNA5NfJvJt3k18lk18lk18lekkQgmA20M3K2NjY19jY19jY2NjY2NjY2NjYhl84
      hV84hl85hmA6h186h2A62NnY2NjZ2djZ2NjY2djZ2NjZ2NjY2djY2NnZ2djY2dnZ2djY0M7K
      gmA2ekkQkF0jk18lk18lk18lya+Sp31Ok18lk18loXNAlWk3cUIJjGpAz8Gv////////////
      ////////////z8GvckcSvJt3rodck18lk18lwqWE8uvktZFpkF0jd0cOeVEgz8Gv////////
      ////////qY9wjmc5mmkzk18lk18lmmkz0Lmgp31Ok18lk18lp31OkF0jdEQMgmA2wrqv2dnY
      2NnY2dnZ2NjY2NjYrZyHlXFH5NfJya+SoXNAk18lk18l3c275NfJrodck18lk18li1gebj8H
      nods2dnZ2djY2djZ2dnZ2dnZ2djY2dnZ2NjZhl86h2A6hmA6h2E7iGE7h2E72drZ2dra2dna
      2drZ2dna2dnZ2dnZ2tra2dnZ2dnZ2dnavLCicEQPhVMZk18lk18lk18lk18lya+StZFpk18l
      k18lp31O3c27rodck18liFUccUIJeVEgqY9w4trP////////xrSfcEQQhVMZk18lk18lk18l
      k18lrodcya+ShVMZckcSvKiP////////////////7ObfjGpAqodgk18lk18lk18lk18l18Ot
      p31Ok18lk18lp31O6+HWoXNAk18ljVogcUIJkXRStaaV2dnZysS9mH5fcUIJpHtMp31Ok18l
      k18lk18lk18lya+SvJt3k18lkF0jekkQe1Yow7qw2dnZ2dnZ2trZ2drZ2dnZ2dna2dna2dnZ
      2dnZiGA7iGA7iGE7iGE8iGI8iGE82tra2trZ2tra2tra2trZ2tra2tra2trZ2tra2dran4hs
      bj8HjVogk18lk18lk18lk18lk18l3c27mmkzk18l0Lmg18OtoXNAk18lk18lk18lvJt3kF0j
      f04Vd0cOcUIJcUIJekkQjVogk18lk18lk18lk18lk18lvJt3hFspg10w7Obf////////////
      9fPvs5yAm3tUpHtMk18lk18lk18lk18lk18l5NfJk18lk18l0Lmg18OtoXNAk18lk18lk18l
      tZFpiFUcekkQcUIJdEQMglAXk18lk18lk18lk18lk18lk18lk18lya+Sk18li1gebD0Fn4hs
      2tra2trZ2tra2trZ2tra2tra2tra2tra2tra2tnZ2traiWE8iWE8iGI8imM+iWM+imM92trb
      2tva29vb29va29va29rb2tra2tra0s/Mg2A2cUIJkF0jk18lk18lk18lk18lk18lk18lrodc
      3c278uvkwqWEk18lk18lk18lp31O5NfJ18Otk18lk18lp31O3c27k18lk18lk18lk18lk18l
      k18lk18lk18loHtQg10w9fPv////////////z8GvjGpArY9rkF0jk18lk18lk18lk18lk18l
      k18lwqWE3c276+HWtZFpk18lk18lk18loXNA5NfJ0Lmgk18lk18lrodc18Otk18lk18lk18l
      k18lk18lk18lk18lk18lvJt3glAXe1YpxLyw2trb2trb2tva29rb2tra29va29ra2trb2tra
      29ra29ra29raiWI+imI9imM+imQ/i2M/imM/3Nvb29vb29vb29vb29vb29vb29vbvbKkcEUP
      f04Vk18lk18lk18lk18lk18lk18lk18lk18lk18lk18lp31O0Lmg18OtrodcwqWE0LmgoXNA
      k18lk18lrodc6+HWmmkzk18lk18lk18lk18lk18lk18lk18lk18lbD0F7Obf////////////
      s5yArJJylWk3k18lk18lk18lk18lk18lk18lk18lk18lk18lk18lvJt318Otya+SoXNA18Ot
      0LmgoXNAk18lk18lrodc3c27mmkzk18lk18lk18lk18lk18lk18lk18lk18ld0cOmYBg09DO
      29vb29vb29zb29vb29zc29vb29vb3Nvb29vb29vb29zc29vc29vbimQ/imQ/imQ/i2VAi2VA
      i2VA3Nzc3Nzc3Nzc29vc3Nvc3NzctqiWbj8HjVogk18lk18lk18lk18lk18lk18lk18lk18l
      k18lk18lk18lk18lk18lmmkzwqWE3c273c27vJt3mmkz5NfJ0Lmgmmkzk18lk18lk18lk18l
      k18lk18lk18lk18li1gejGpA////////////xrSfu6OGmmkzk18lk18lk18lk18lk18lk18l
      k18lk18lk18lk18lk18lk18lk18lp31O18Ot3c27ya+SoXNAp31O3c270Lmgmmkzk18lk18l
      k18lk18lk18lk18lk18lk18lk18liWY73Nzc3Nzc29zc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc
      29zc3Nzc3Nzc29zc3Nzbi2RAi2VAi2VBjGZCjGZBjGZC3Nzc3Nzc3Nzd3d3c3Nzd3dzcdEwb
      jVogk18lk18lk18lk18lk18lk18lk18lk18lk18lk18lk18lk18lk18lk18lk18lk18lk18l
      oXNAya+S18Otp31Ok18lk18lk18lk18lk18lk18lk18lk18lk18lk18liFUcjGpA////////
      ////vKiPvJt3k18lk18lk18lk18lk18lk18lk18lk18lk18lk18lk18lk18lk18lk18lk18l
      k18lk18ltZFpya+S3c27p31Ok18lk18lk18lk18lk18lk18lk18lk18lk18lk18lk18lc0cS
      3N3d3N3d3Nzc3dzd3d3d3Nzc3Nzc3d3d3dzd3d3c3N3c3N3c3dzc3d3d3NzcjGZBjGZBjGZB
      jWdDjWdDjWdC3d3d3d3e3d3e3d3d3d7d3d3dcEUPhVMZiFUciFUcf04VfUwTiFUciFUciFUc
      iFUciFUciFUciFUci1gek18lp31Orodcp31Ok18lk18lk18lk18lk18lk18lk18lk18lk18l
      k18lk18lk18lk18lk18lk18l0LmgeVEg////////////4trPn4Ngnn5XvqWJs5Rwya+SwaiL
      tJl5tJl5vqWJvqWJq4xpoYBZvqWJup59mGw5p31Ommkzk18lk18lk18lk18lk18lk18lk18l
      k18lk18lk18lk18lk18lk18lk18lk18l3c27dEQMzsjB3d3d3d3d3d3d3d3d3d3d3d3d3d7d
      3d3d3d3d3d3d3d3d3d3d3d3d3t3djWdDjWdDjWdCjmhEjmhEjmhE3t7e3t7d3t3e3d7e3d7e
      3t7dzsjCoYpuoYpuoYpuoYpuoYpuoYpuoYpuoYpuoYpuoYpuoYpuk3ZTbUINaToCup59ya+S
      18Ot5NfJ0LmgtZFpk18lk18lk18lk18lk18lk18lk18lk18lk18lk18lk18lp31O5NfJekkQ
      vKiP////////////////9fPv2c2/2c2/2c2/n4Ngs5yAvKiP2c2/z8GvxrSf2c2/z8GvcEQQ
      rY9r3c275NfJ0LmgvJt3mmkzk18lk18lk18lk18lk18lk18lk18lk18lk18lk18lk18lrodc
      ya+ShVMZi2xF3t7e3t7e3t7e3t7e3t7d3t7d3t3e3t7d3t7e3t7e3t7e3t7e3t3d3t7ejmhE
      jWhEjmhEj2lGjmlFjmlF397e397e397e397f3t7e3t/f3t/f397e3t7e39/f3t7f3t7f39/f
      39/e3t/f3t/ewLWnhGE3bj8HglAXkF0jk18lk18lk18lk18loXNAwqWE3c27k18lk18lk18l
      k18lk18lk18lk18lk18lk18lp31O5NfJmmkzkF0jbj8HxrSf////////////////////////
      4trPn4Ng////////////////////xrSfaToCf04Vk18lk18lk18lk18lvJt30LmgvJt3k18l
      k18lk18lk18lk18lk18lk18lk18lk18ltZFp5NfJmmkzk18ld0cOk3ZT3t/e397f3t7e3t7f
      3t/e3t/e397e3t7e3t/f3t/e39/f39/f3t/fjmlFjmlFj2lFkGpHj2pHj2pG39/f39/f39/f
      4N/f39/g39/f39/f39/f39/f39/f39/f39/g4N/f39/f39/fm4Fhbj8HiFUck18lk18lk18l
      k18lk18lk18lk18lk18lk18lp31Ommkzk18lk18lk18lk18lk18lk18lk18lmmkz5NfJp31O
      k18ltZFp1MGrcUIJqY9w9fPv////////////rqyoy8jFn4Ngz8Gv////////vKiPckcSfUwT
      k18lk18lk18lk18lk18lk18lk18lk18ltZFpk18lk18lk18lk18lk18lk18lk18lk18loXNA
      6+HWoXNAk18lrodcwqWEd0cOhGE3z8rD39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f
      3+Dfj2pGkGpGkGpGkWtIkWtIkGtI4ODg4ODf4ODg4ODg39/g4ODg4ODg3+Df4N/g4ODg4ODg
      4ODg3+Dg4N/gk3dUfUwTk18lk18lk18lk18lk18lk18lk18lk18lk18lk18lk18lk18lk18l
      k18lk18lk18lk18lk18lk18lk18loXNA18OtoXNA18Ot0LmgoXNAk18lf04VckcSs5yA9fPv
      ////uLi44+Pj////qY9wjGpAqY9wbj8HjVogk18lk18lk18lk18lk18lk18lk18lk18lk18l
      k18lk18lk18lk18lk18lk18lk18lk18lk18lvJt3vJt3p31O3c270LmgoXNAk18lhVMZcEUP
      ootv2NXR4ODg4N/g39/g4ODg3+Dg4N/g3+Dg3+Df4ODfkWtIkGtIkWtIkmxJkWxJkmxJ4OHh
      4ODg4ODh4ODh4OHh4eHh4eDh4eDh4ODh4OHh4OHh4OHg4eDho4tvglAXk18lk18lk18lk18l
      k18lk18lk18lk18lk18lk18lk18lk18lk18lk18lk18lk18lk18lk18lk18lk18lk18lk18l
      5NfJ3c27p31Ok18lk18lk18lwqWEv6OCfUwTcEQQn4Ngz8Gv9fPv////9fPvn4NgcUIJk18l
      k18lk18lk18lk18lk18lk18lk18lk18lk18lk18lk18lk18lk18lk18lkF0jglAXk18lk18l
      k18lmmkz6+HW18Otmmkzk18lk18lk18l0LmgnnE+fUwTaToClHdUuquZ4eHh4ODg4ODh4ODh
      4ODh4eDg4ODhkWxJkWxJkWxJk21Lkm1Kkm1L4eHh4eLh4eHh4eHh4eHh4eHh4eLh4eHh4eHh
      4eHi4eHh4uHh4eHhflQjk18lk18lk18lk18li1gebD0Fbj8HcUIJmHRJmHRJmHRJmHRJmHRJ
      mHRJmHRJmHRJmHRJmHRJe04Zk18lk18lk18lk18lmmkz5NfJoXNAk18lvJt35NfJ18Otmmkz
      k18lk18lhVMZfUwTdEQMaToCaToCd0cOkF0jk18lk18lk18lk18lk18lk18lk18lk18lk18l
      k18lk18li1geiFUcf04VdEQMdU0cdU0cjVogk18lk18lk18lp31O3c27k18lk18lrodc5NfJ
      0Lmgk18lk18lkF0jf04Vbj8HbUIOlHdU2dbT4eHh4eHh4eHh4uHhkm1Lk21Kkm1Lk25Mk25M
      k29M4uLi4uLh4uHi4uLi4uLh4uLi4eLh4uHi4uHi4uLh4uLh4uLh4eLieEsXk18lk18lk18l
      k18lfUwTz8Gv////////////xrSf////////////z8Gv////////xrSf////z8Gvf04Vk18l
      k18lk18lk18lmmkz3c270Lmgya+Sk18lk18lk18lrodctZFpk18lk18lhVMZZjgAckcSk18l
      k18lk18lk18liFUccUIJcUIJcUIJcUIJcUIJbj8HZjgAZjgAZjgAfVgqlHhVs6KM2tfTva6d
      ekkQk18lk18lk18lk18ltZFp0Lmg0Lmgya+SoXNAk18lk18lrodcrodck18lk18ld0cObUIO
      0szE4eLi4uLh4uLh4uLik25MlG5Mk25MlHBNlG9OlG9N4+Lj4uPj4uLi4+Pj4+Pi4uPj4+Pj
      4+Pi4uLj4+Lj4+Lj4uLj4+LilHhViFUck18lk18lk18lfUwTz8Gv////////////7Obfn4Ng
      9fPv////qY9w4trP////jGpA9fPv////j2xCkF0jk18lk18lk18lk18lp31O5NfJmmkzk18l
      vJt33c27rodck18lk18lekkQZjgAxrSfn4NglWk3k18lk18lk18liFUcZjgAs6KMwrepw7ep
      wrepw7iqwrip0s3G4+Pj4uPj4+Pj4uLj4+Lj4+Ljc0cSk18lk18lk18lk18lk18lvJt3ya+S
      k18lk18lvJt33c27rodck18ljVogcUIJdU0cysK34uPi4uLj4uLj4uLi4uPjlG9NlG9NlW9N
      lXBOlXBPlXBO4+Pj5OPk4+Pk5OPj4+Pj4+Tk4+Pj4+Tj4+Tj4+Pj4+Pj4+Pj4+Pj29jUc0cS
      kF0jk18lk18liFUcg10w7Obf////////////z8GvlnZQ////7Obfg10w////z8GvvKiP////
      z8GvglAXk18lk18lk18lk18lk18lp31O3c273c27vJt3k18lk18li1gebj8Hg10w4trP////
      7Obff1Ylk18lk18lk18lk18ldEQMrJd/4+Pj4+Pk4+Pj4+Pj4+Pj4+Pj5OPj4+Pj4+Pj4+Pj
      4+Tj4+TjnX9cglAXk18lk18lk18lk18lk18lwqWE3c273c27tZFpk18lk18lf04VaToCnINj
      29jU4+Pj4+Tk4+Tj4+Pj4+Pj4+PjlXBPlXBOlXBPlnFPlnFQlnFP5OTj4+Tk5OPk5OPk5OTk
      4+Tk5OPk5OPk5OTj4+Tk5OTj5OPk5OTk5OTky8O5dkoUkF0jk18lk18liFUcckcS2c2/////
      ////////z8Gvn4Ng////n4Ngn4NglnZQcEQQ7Obf////eEwXk18lk18lk18lk18lk18lk18l
      k18lk18lk18lkF0jfUwTcEQQxrSf////s5yA////////qY9wf04Vk18lk18lk18lkF0jbD0F
      vaqV5OTk4+Tk4+Tk4+Tk5OTk5OPj4+Tj4+Pk4+Pk5OTj5OTkz8a7bD0Fk18lk18lk18lk18l
      k18lk18lk18lk18lk18liFUcbj8HhWI5xLiq5OPk5OTk5OPj5OTk5OTj5OPk5OPj4+PklnJQ
      lnJQlXFQl3JSl3JRl3JR5OTk5OXl5OXk5eTl5OXl5OTk5OTk5OTk5OXk5OTk5eTl5eXl5OTl
      5OTk5eTkzMO5dkoUkF0jk18lk18lkF0jcUIJqY9w////////////qY9ws5yAn4Ng////////
      s5yAZjgAz8Gvs5yAglAXk18lk18lk18lk18lk18lk18lkF0jglAXckcSqY9w9fPv////////
      9fPvs5yA////9fPvg10wfUwTk18lk18lk18li1gebj8HlXVO39vY5OTk5eTl5eTk5OTl5OTl
      5OXl5OXl5eXl5OTk5eTliGU7f04Vk18lk18lk18lk18lk18lk18liFUccUIJdU0ctKOO5OTk
      5eXl5OTl5eXl5OTl5eTk5OTl5eTk5eTk5OXklnJRlnNRl3JRmHNSmHNSl3NS5eXl5eXl5ebl
      5ebl5eXl5eXl5uXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXlzcS5dkoUkF0jk18lk18l
      k18lfUwTg10w4trP////////s5yAlnZQ////////////////vKiPlnZQhmAyglAXk18lk18l
      k18lk18lglAXdUkVs5yA9fPvz8Gvg10w////////////s5yA4trP////9fPvqY9wcUIJjVog
      k18lk18lkF0jekkQcEUQqpN25eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXlzcS5ZjgAjVog
      k18lk18lk18lhVMZcUIJgFsttaOO5eXl5eXl5ebl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl
      5eXlmHNSl3NTl3NTmXRTmHVTmXRT5eXm5ubm5ubm5eXm5eXl5ubm5eXl5ubl5uXm5ubm5eXl
      5ubm5ubm5ubm5uXm5uXl5ebmzcS5hl8yi1gek18lk18lk18liFUcdUkVvKiP////////jGpA
      ////////////////////////9fPvjGpAbj8HfUwTd0cOdUkVqY9w2c2/////////////z8Gv
      lnZQ////////7Obfs5yA////////////2c2/fFMifUwTkF0jk18lk18ljVogcUIJe1MhyLyu
      5ubm5ubm5ubm5eXm5uXm5ubl5ubm5ubmtaSPbj8HhVMZekkQc0cTlXlWyLyt5ebm5uXl5ubl
      5ebl5ubm5ebl5ubm5ubm5ubm5ubl5ubm5ubm5ebm5uXmmXRUmXRTmXRUmnZVmnVVmnVV5ufn
      5+bn5ubm5ubm5ufn5ubn5ubm5ufm5ubn5ufn5+bm5ufm5+fm5+fm5ubm5ubm5ubn5ufm3dzX
      lnlWfUwTk18lk18lk18lkF0jd0cOjGpA7Obfs5yA////////////////////////////////
      2c2/cEQQ2c2/////7ObflnZQxrSf////////////vKiPvKiP9fPvlnZQz8Gv////////////
      ////9fPvqY9wbD0Fi1gek18lk18lk18liFUcbj8Hpots5ubn5+bn5ufm5ubm5ubm5ubm5ufm
      5+bnzcW6pY5zxbqs5+bn5+fm5+bm5ubn5ufm5+bn5ufm5ubm5+bn5ubn5+fn5ubn5ufm5+bn
      5ubm5ubn5ufmmXZVmXVVmXVVmnZXmnZWmnZW5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn
      5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+jnxrutg10wiFUck18lk18lk18liFUc
      dUkVqY9w////////////////////////////////////2c2/jGpAz8Gv////////n4NgxrSf
      ////9fPvz8GvjGpAlnZQ2c2/////////////////////////////2c2/eVEgf04Vk18lk18l
      k18lkF0jbD0FtqGI5+fn5+fn5+fn5+jn5+fn5+fo5+fn5+fn5+fo5+fn5+fn5+fn5+fn5+fn
      5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+jn5+fn5+fn5+fn5+fn5+fnm3ZWmnZXm3ZXm3dYm3dY
      m3hY6Ojo6Ojo6Ojn6Ojo6Ofo5+jn6Ojn6Ojo6Ofn5+fn5+jo6Ofn6Ojo6Ofo6Ofn6Ofo6Ojo
      5+jo6Ojo6Ofo6Ojo5+fopo9zfUwTk18lk18lk18lkF0jbD0F////////////////////////
      ////////////////9fPvlnZQqY9w7ObfxrSfeVEglnZQqY9w2c2/////////////////////
      ////////////////////////9fPvn4Ngd0cOk18lk18lk18li1gec0cT4t/a6Ojo6Ofo6Ojo
      6Ojo6Ojo5+fo6Ofn6Ojo5+jo6Ojn6Ofo6Ojo6Ojo6Ojo6Ojo5+jo6Ofo6Ojo6Ojo6Ofn6Ofn
      6Ojn6Ojo6Ojn5+jo6OjonHdXm3dYnHdYnXlZnXhZnHlZ6ejo6Ojo6Ojp6ejp6ejp6Ojo6Onp
      6Ono6enp6Ono6Ojo6ejp6Ojo6Ojo6enp6ejo6Ono6Ojo6Ojo6ejo6Onp6Onp6Ojox7utfUwT
      k18lk18lk18lcUIJ////////////////////////////////////////////9fPvvKiPn4Ng
      s5yA4trP////////////////////////////////////////////////////////////////
      vKiPd0cOk18lk18lk18lcUIJ0sa36Ojp6ejo6Ojp6Ojp6Ojo6ejp6eno6enp6Onp6Ojo6eno
      6eno6Ojo6Ojo6Ojp6Ojo6Ojp6Onp6Ojo6Ojo6Ono6Ojp6Ojo6ejo6Ojo6OnpnHhZnHhZnHhZ
      nXlanXpanXlb6enp6enp6enp6enp6enp6enp6enp6enp6enp6enpyLyut6aRzMCyv7Ggp5B0
      p5B0t6aRp5B0r5uCyLyur5uCp5B0p5B0kXJLh1gjk18lk18lk18lfFMi2c2/z8Gv////////
      ////////////////////////////////////////////////////////////////////////
      ////2c2/2c2/2c2/2c2/2c2/xrSfs5yAs5yAs5yAs5yAcUIJk18lk18lk18lbj8H08a36enp
      6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp
      6enp6enp6enp6enp6enp6enp6enpnXpanXpanXlbnnpcnXpbnntc6urp6urq6enq6erq6enp
      6urq6urp6urq6erp6erqn4ZmkmY0rodc18Ot0Lmg3c27vJt3rodcp31Ok18lr4tjo3hJk18l
      k18lk18lk18lk18lf04Vn4Ng9fPvjGpA2c2/////////////////////////////////////
      ////////2c2/2c2/vKiPs5yAxrSflnZQfFMicUIJm3tUs5yAs5yAmHRJkWo7imAug1YgfUwT
      glAXiFUciFUcjVogk18lk18li1gedkoV5ODd6unp6urp6urq6erq6erp6urp6unq6erq6unp
      6unq6unp6urp6urq6urp6unp6urp6urq6unq6unq6urp6unq6erq6erq6unq6urq6urpnntc
      nntbnnpcnntdnnxdnntd6urq6uvr6uvq6+vq6uvq6+rr6uvq6+rr6+vr6urruKaRdk4daToC
      fUwTjVogk18lrodcwqWE18Ot5NfJvJt3k18lk18lk18lk18lk18li1geeVEg9fPv////9fPv
      jGpA7Obf////////////////////////////////vKiPjGpAqY9w2c2/2c2/2c2/2c2/z8Gv
      lnZQbD0FglAXk18lmmkzwqWE18Ot3c275NfJp31Ok18lk18lk18lk18lk18lkF0jbj8HtZ2A
      6+vq6urr6uvq6urr6uvq6uvr6urq6urq6+rq6urr6urr6urq6uvq6uvr6+vq6+vq6urq6urr
      6+rq6urr6urr6+vq6+rq6uvq6urq6+rq6+rrn3xdn3xdn3tdoHxfoH1foHxe6+vr6+vr6+vr
      6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr5eLesJh8cUYQhVMZk18lk18lk18lvJt30Lmg
      mmkzk18lk18lk18lglAXfFMi4trPlnZQ4trP////z8GvjGpA9fPv////////////////////
      ////////7Obf////////////////////////////////7Obfn4NgbD0FiFUck18lk18lk18l
      wqWErodck18lk18lk18lk18li1gebj8Ho4Vh6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr
      6+vr6+vr6+vr6+vr6+vr6uvr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr
      6+vroH1eoHxen31eoH5foH1goX5g7Ovr7Ovr7Ozr7Ovs6+zr6+zs6+zr6+zs7Ozr6+vr6+vr
      7Ozs7Ovr7Ozr0cq/eVEgekkQya+S5NfJwqWEtZFp3c27k18liFUccUIJlnZQ9fPv////4trP
      lnZQ2c2/////s5yA2c2/////////////////////////////////////////////////////
      ////////////////////4trPg10wekkQ0Lmg6+HWya+Srodc18Otk18lkF0jekkQcUYQwq+Z
      6+zs7Ozr6+zs7Ozs7Ovs7Ovs7Ozs7Ozr6+vs7Ozs7Ozr6+zs7Ozr6+vs7Ozs7Ozr7Ozs7Ovr
      7Ozs6+zr6+zs6+zr6+zs7Ozr7Ozr6+zr7Ozr7Ozs6+zsoX1foX5goX5foX9hon5hoX9h7ezs
      7O3s7e3t7Ozt7O3t7Ozs7Ozt7ezs7Ozs7Ozs7O3t7O3t7Ozs7Ozs7O3s7O3sf1kst5t7mmkz
      k18lkF0jglAXcUIJeVEgz8GvxrSfz8Gv////////9fPvg10w7ObfjGpA9fPv////////////
      ////////////////////////////////////////////////////////////////////n4Ng
      jmc5k18lk18lk18ljVogdEQMcUYQq5R44+Dd7Ozs7ezt7Ozs7O3s7ezs7ezs7ezs7Ozt7Ozs
      7O3s7Ozt7Ozs7O3s7O3t7Ozs7e3t7Ozt7e3s7e3t7O3s7O3t7O3s7O3s7Ozs7Ozs7e3t7Ozs
      7e3t7ezt7OztoX5goX5hon9hon9ion9io39j7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7ezt
      7e3t7e3t7e3t7e3t7e3t7e3t7e3t5OHebkMOcUIJbj8HcEQQn4Ngz8Gv////////9fPvg10w
      xrSf////////z8GvlnZQ4trP////////////7ObfqY9w2c2/////////////////////////
      ////////////////////////////////////////lnZQekkQfUwTcUIJgVwvt6KJ5+Tg7e3t
      7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t
      7e3t7e3t7e3t7e3t7e3s7e3t7e3t7e3t7e3t7e3t7e3t7O3t7e3ton9io4Bion9jo4Bjo4Fj
      pIFk7e7t7u7u7u3u7e3t7e3u7e7u7e3u7u3t7e7t7u3t7u7u7e7t7u7u7u7u7u7t7e7t7e7t
      5OHfZjgAlnZQ////////////7Obfs5yA////////qY9wqY9w7Obfn4Ng2c2/////////////
      ////xrSfmXxZkHBKZjgAjGpAn4Ngs5yAz8Gv2c2/2c2/////////////////////////////
      ////////z8GvmXxZuqiU3NfP7e7t7e3t7e7t7u7u7u3u7u3t7u3u7e7u7u7t7u7t7u7t7u3t
      7u3u7e7t7u3t7e7t7u7t7e7t7u3t7u7t7u7u7e3u7u7u7e7t7u7t7u3u7u3t7u7t7u7t7u7t
      7e7t7e7u7u7t7u7u7e3uo4Bjo4Bjo4BjpIFlpYJlpIJl7u/u7u7v7+/v7u/u7u7v7+7u7+7v
      7+7u7u/u7u/u7+7v7u7v7u7u7+7v7+7v7+7u7u7u7u7uu6mVbkMOs5yA////////////4trP
      qY9w9fPv////z8GvjGpA7Obf////////////////////lnZQ5eLf7+7u7u7vy8GyqZJ2kHFK
      d04dZjgAZjgAZjgAZjgAcEQQjGpA////////////////9fPvlHVO7+/v7+/u7u/u7u/u7u7u
      7u/v7+7v7u7u7u7v7u7v7u/u7+7u7u7u7u7v7+7u7+/u7u7v7u7u7u7v7+7u7u7u7u7u7u/u
      7u/v7+7v7+/u7+/u7u7u7+7u7u/u7+7u7+7v7u7u7u7v7+/u7u/u7u7u7+7upIJlpIJlpIJl
      pYJmpYNmpYNm7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/u
      7+/v7+/v7u/v7+/u1czCf1osg10w4trP////////4trPlnZQjGpAn4Ng9fPv////////////
      ////////9fPviGU77+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v3djRoohojGpA////
      ////////////lnZQzsK17+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/u
      7+/v7+7v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v
      7+/v7+/v7+/v7+/v7+/v7+/v7+/vpYJmpYJmpYJmpoRnpoRnpoNo8PDw7/Dw7/Dw8PDw8PDw
      8PDv8O/v8PDw8PDw8PDv7+/v8O/v8O/w8O/w8O/w8PDv8PDw8PDv8PDw8O/w7/DwqpN3bkMO
      s5yA9fPv////////////////////////////////////////s5yAvKqV8PDw7/Dw8O/v8O/v
      8O/w8O/v8O/v7/Dw8O/v7/DwqpN3g10w9fPv////////////n4NgtqKK8O/v8O/w8O/w8PDw
      8O/v7/Dw8O/w8PDw7+/w8O/w7+/v7+/w8PDv8PDv7/Dv8O/w7/Dw8O/v8PDw8PDw8O/w7+/w
      8PDv8PDw8PDv8PDv8PDv7+/w7+/v8PDw7/Dw7+/w8PDw8PDv8PDw7/Dw8PDv8PDv8PDvpoRo
      poRnpoRnp4VopoVpp4Vo8PHw8fHx8PDw8PDw8PDw8PDx8fDx8fDw8PDw8PDw8PDw8PHw8PDw
      8PDw8PDw8PDw8fDw8fDx8PDw8fDx8fDw8PDw3tnRkXJLeVEgxrSf////////////////////
      ////////////9fPvcEQQ5+Xh8fHw8PHx8PDw8fDw8PDx8fDx8PDw8fHwzsGzd08es5yA9fPv
      ////////////n4NgmX1a8PDw8fDx8fDw8PDw8PDw8PHw8fDw8PHw8PDw8PDx8PHx8PDw8fDx
      8fDx8fDx8fDw8PDw8PDw8PDx8PHw8fDx8fHx8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8fDx
      8fDw8PHw8PDw8fDw8PHw8PHw8PDw8PDw8PHwpoVop4Vop4VoqIVqqIZqqIZq8fHx8fHx8fHx
      8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8PHx8fHx8fHx8fHx8fHx
      8fHx8fHw8fHxzcK0iGY8g10w2c2/////////////////////////n4Ngmn1a8fHx8fHx8fHx
      8fHx8fHx8fHx8fHx1s7DiGY8jGpA4trP////////////9fPvjGpAv66Z8fHx8fHx8fHx8fHx
      8fHx8fHx8fHw8fHx8fHx8fHx8fHx8fHx8fHx8PHx8fHw8fHx8fHx8fHx8fHw8fHx8fHx8fHx
      8fDx8fHx8fHx8fHx8fHx8fHx8fHw8fHx8fHx8fHx8fHw8fHw8fDx8fHx8fHx8PDx8fHx8fHx
      8fHxqIZqqIVqqIVqqYZrqIdsqYZr8vLy8fLy8vLx8vLx8fHx8vHx8vHx8vLy8fLx8fHx8vLx
      8vHy8vLx8vHx8vHy8fLx8vLy8vHy8fLy8fHx8vLx8vHy8vLy8fHy8fHx8fHxzsK1iGY8eVEg
      xrSf9fPv////////n4Ngd08e4NrT8vLy8vHx8vLy8fLx8fHx8fHxs5+HeVEgz8Gv////////
      ////////2c2/lXVO2tHH8vHx8vLy8vLy8fLx8fLy8vLy8vHx8fHx8fHy8vLx8vLy8fLy8vHy
      8vLx8vHy8vLy8vHy8fLx8fLy8vHx8vLy8fLx8vLx8vLy8fHx8vLy8vHx8fLx8fHx8fHx8fHy
      8vLx8fLy8vLy8fLx8fLy8vHy8fLx8vHx8fLy8vLy8fHxqYZrqIZrqYdrqYhtqYhtqodt8/Ly
      8/Py8vLz8vLz8vLz8vLy8vLy8/Py8vLy8vPy8vLy8vPz8vLy8vLz8/Py8/Ly8vLy8/Ly8vLy
      8/Ly8vPy8vLy8/Py8vLy8vLz8vPy8/Ly8vLy4NvTtKCHiWY8g10wk3RNtKCH6ebi8vLz8vLy
      8/Ly8vLy8vLz6ebigFstn4Ng9fPv////////////7ObfqY9wsJl99PT08vLy8/Ly8vLz8/Ly
      8vLz8/Py8vLy8vLy8vLy8vLy8vLz8/Ly8vLy8vPz8vLy8vPy8vLy8vLy8vPy8vLy8vLy8vLy
      8vLy8vLy8vLz8vLy8vLy8vLy8vLz8vLy8vLy8vLy8vLy8vLz8vLy8vLy8vLz8/Ly8vLz8vLy
      8vPz8vLy8vLzqohtqodsqYdsq4luq4luqohu8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz
      8/Pz8/Pz8vPz8/Pz8/Pz8/Py8/Pz8/Pz8vPz8vPz8/Pz8/Pz8vPz8/Pz8/Pz8/Pz8/Pz8vLz
      8/Py8vPz8/Pz8/Pz8/Pz8/Lz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/PzknJMn4Ng////////////
      ////s5yAqI5u5N7X8vPz8/Py8/Pz8/Pz8/Py8/Pz8/Pz8/Pz8/Pz8/Pz8vPz8/Pz8/Ly8/Pz
      8/Pz8/Pz8/Lz8/Pz8/Py8/Py8/Pz8/Pz8/Pz8vPz8/Pz8/Pz8/Pz8/Py8/Py8/Lz8/Pz8/Pz
      8vPz8/Pz8/Pz8/Py8vPz8/Pz8/Pz8/Pz8/Pz8vPz8/Pz8/Pz8/Pzq4luqohuq4luq4pvq4pv
      rIlv9PP09PP08/Pz9PT09PT09PT09PPz9PP09PT09PTz8/T09PP08/T08/T09PPz9PTz8/Tz
      8/T08/Pz8/T08/P08/P08/T08/Pz9PP08/P08/Tz8/T09PT08/Pz9PT09PT09PT08/P09PTz
      8/Tz9PT09PPz8/T02c/FjGpA////////////9fPvlnZQ1Mi78/Pz9PTz9PPz8/T09PTz9PTz
      9PP08/T08/Pz8/T09PTz9PTz9PT08/P08/Pz9PTz9PPz8/T09PPz9PP08/P09PT08/Tz9PP0
      8/Tz9PTz9PPz9PPz8/Tz9PTz9PTz8/P08/P09PT08/Pz9PPz9PTz9PT08/T09PT09PPz8/P0
      9PP09PTz8/Tz8/P08/Pzq4lwq4pvrIlvrItxrItxrItw9PT09PT09PX09PT09PT09PT09PT0
      9fX09PT09PX09PX19PT09PX09PT09PX09PT09fT09PT19PX09PT09PT19PT09fT09PX19PT1
      9fT19PX19PT09PT09PX09PT09PX09PT09PX09PT09PT09fT09PT19PX0rJV5xrSf////////
      ////qY9w7+3p9fT19PX19PT09PX09PT09fT09PT09PX19PT09fT09PX09PX09fT09PT09PT0
      9PT09PT09PX09PX19PT09PT09PT09PT19PT09PT19PT09fX19fX09fT09PT19PT09PT09fT0
      9PT19PT09PT19PT09PX09PT09fT19fX09PT09PT09PT09PT19fT19PT09PT0rItwrYtxrYtx
      rYxyrYxyrYxy9fX19fX19fX09PX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX09fX1
      9fT19fX09fX19fX19fX19fX19fX19fX19fX19fX19fT19fX19fX19fX19fX19fX19fX19fX0
      9PX09fX19fX19fX19fT19fX1rZZ62c2/////////////s5yA9fX19fX19fX19PT19fX19fX1
      9PX19fX19fX19fX19fX19fX19fX19fX09fT19PX09fX19fX19fX09fX19fX19fX09fX19fT1
      9PX19fX19fT19fX19PX19fX19fX19fX09fX19fX19fX19fX19fX19fX19fX19fX09PX19fX1
      9PX19fX19fX09fX19fX19PX19fX1rYxyrYxyrYxyr410ro1zro1z9vb19fb19vb29fX29fX1
      9fX19vX29vX29vb19fX19vb29vX29vb19fb29vb19vb29vX19vb29vX19fX19fX29fb19vb1
      9vb29fX19fX19fb19vb19vX29fX29fb29fX29vb19vb29fb19vX19fb29fX29vb1tqGJvKiP
      ////////////xrSfu6eO1cq85+Ha+vr6+vr63dTJ3tbM1su81su91su81su91su98e7r08e5
      9vb29vX19vX19vX19vb29vb29vX29fX29fb19vb19fX29fX29vX29vb19fb19vX19fb19vb2
      9vX19vb29vX29vX29fb19vX29vb29fX19fX29vb29fb19vb19fb29fX29vX29vb19fb2ro10
      ro1zro1zr451r451r4509vb29/b29vb29vf29vb29vb29vb29vb29vb29vb39vb29vb29vf2
      9vb29vb29vb29/f29vb29/f29vb29vb29vb29vb39vb29vb29/b39vb29vb29vb29vb39vf2
      9vb29vb29vf39vf29vb29vb29vf29vb27OvngV0v9fPv////////////7Obf2c2/2c2/vKiP
      lnZQqY9wn4Ngs5yAxrSfs5yAz8Gvz8GvqY9wb0MP9/f29vb29vb29vb39vb29/b29vf29vb3
      9/f29vf29vb29vb29vb29vb29vf29vf29vb39vb29vb29vb29vb29vb39vb29vb29vb39vb3
      9vb29/b29vb29vb39/b29/b39vb29vb29vf2r450r451r450sI91sI92sI929vf39/f39vf3
      9vf39/b29/f39/f39/f39/f39vf39vb39/f39/f39/b39/f29/f39/f39/f39/b39/f29/f3
      9/f39/f39/b29/f39/f39vf39vf39/f39/b39/f39/f39/f39vf39/f39/f39/f39vf39vf3
      9/f3wK6ag10w9fPv////////////////////////qY9w2c2/////////////////9fPvqY9w
      eE8e0ce59/f39/f39/f39/b39/f29/f39/b29vf39/b29/f39vf39/f39/f39/f39/f39/f2
      9/f39/f39/f39/f39/b39/f39/f39vf39/f39/f29/f39vf39/f39vf29/f39/f39/f39/f3
      9/f3sI91sI92sI92sJB3sJB4sY939/j39/j49/f4+Pf49/f4+Pf3+Pj49/f39/j3+Pj4+Pf4
      +Pj4+Pj3+Pj39/j49/j4+Pj4+Pf3+Pj39/f49/f49/j39/j49/j39/j39/j3+Pf4+Pf49/f4
      9/j3+Pj4+Pf3+Pj39/f4+Pf39/f4+Pj49/j3+Pf49/j49/f3wa+aeVEg2c2/////////////
      ////t6aR4trPn4Ng9fPv////////qY9weFAfwK+a+Pf4+Pj3+Pf4+Pj4+Pj3+Pj49/f39/j3
      +Pj3+Pf49/f4+Pf4+Pf3+Pf3+Pj3+Pf4+Pf4+Pj39/f3+Pj39/f39/j4+Pf4+Pf3+Pj49/j3
      9/j3+Pf4+Pf3+Pf4+Pj3+Pj3+Pf4+Pf4+Pj4+Pj4+Pf3sJB3sJB3sZB3spF4spF4sZF4+fj4
      +Pn4+fj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+fj4+fj4+Pj4+Pj4+Pj5+Pj4+Pj4+Pj4+Pj5+Pj4
      +Pj4+Pn5+Pj4+Pj5+Pj5+Pn4+Pn4+Pn4+Pj4+Pj4+Pj4+Pj5+Pn4+Pj4+fj4+Pj5+Pj5+fj4
      +Pn4+Pj4+Pj4+fn4+Pj43NPKimg+jGpA7Obf////9fPvxrSf////2c2/eVEgvKiPjGpAnIBd
      7uvo+Pj5+Pn4+Pn5+fn4+Pj4+Pj4+Pj4+Pj4+Pn4+Pj4+Pn4+Pn4+Pj5+Pj4+Pj4+Pj5+fj4
      +Pj5+Pj5+Pj4+Pj4+Pj4+Pj4+Pn4+fj4+Pn4+fn4+Pj4+Pn4+Pj5+fn4+Pn4+Pj4+Pn4+fj5
      +Pj4+Pj4+Pj4spF4spF4spF5s5J5spJ5s5N6+Pj5+fn5+fn5+fn5+Pn5+fn5+Pn5+fj4+fj5
      +fn4+fn5+fn5+fj5+fn5+fn5+fj5+fj5+fn4+fj5+fn5+fn5+fj4+fn5+Pn5+fn5+fn5+fn5
      +fn5+fj5+fn5+fn4+Pn5+fn5+fn5+fn5+Pn5+fn5+fn5+fn4+fn5+fn5+fn5+fn5+fj5yryq
      gVwulnZQxrSf7Obf////////4trPcEQQuKSL+fn5+fn5+fn5+fn5+fj5+Pn5+fj4+fn5+fj4
      +Pn5+fn5+fn5+fj5+fn5+fj5+fn5+Pn4+Pn5+fn5+fn5+fj5+fn5+Pn4+fn5+fn5+Pn5+fj5
      +fn4+Pj5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Pn5+fn5+fj59/b2s5J6s5J6s5J6s5N7s5N7
      s5N78e3q+fr6+fr6+fn5+fn6+fr5+vn5+fr5+fn5+vr6+fr5+fr6+fn6+vn5+fn6+vn6+vr5
      +fr5+fn6+vr6+fn6+fn5+fr6+vn5+vr5+vr5+vr6+fn5+fn5+fn5+vn5+fr5+fr5+vr6+fr5
      +vn5+fn6+fn5+fr6+vn6+vn5+fr6+vr5+fr5+vn5+vr51Mi7r5h8img+eFAfg10wb0QPr5h8
      +vn6+vn5+vn6+fr6+fn5+vr6+fn5+fn5+vr6+fr6+vn6+fn6+fr5+fn5+vr5+fr5+fn5+vn6
      +fn5+fn6+vr6+fr5+vr5+vr6+vr5+fr5+vn5+vr6+fr6+vn5+vn6+fn6+fr5+fr6+fn6+vn5
      +fr6+fr6+fn6+vr58e7rs5N7s5N7s5N7tJR8tJR9tJR85dvU+vr7+vr6+vr6+vr7+/r6+/v6
      +vr6+/v6+vr7+vr6+vr7+vr6+vr6+vr7+vr6+vr6+vr6+vv6+vv7+vr6+vr6+vr6+vr6+vr6
      +/r6+vr6+vv7+vr6+/r7+/v7+/v6+vr6+vv7+/r6+vr6+/r6+vr6+/r6+vr6+vr6+vr6+vr6
      +/v6+/r6+vr6+vr7+vr6+vr6+vv6+vv6+vr6+vr6+vr6+vr7+vr6+vr6+/v6+vr6+vr6+vr6
      +/r6+vr6+vr6+vr6+vr7+vv6+vr6+/r6+/v6+vr7+vr6+vr6+vv6+vv7+vr6+vr6+vr6+vr6
      +vr6+vv6+vr6+vv6+vr7+vr6+vv6+vr6+vr6+vr6+vv6+vr7+/r6+/r65dvVtJR8tJR9tJR9
      tpmEtZV+tZV+08Gz+/v6+/v7+/v7+/v7+vv7+/v7+/v6+/v7+/v6+/v7+/v6+/v7+/v7+/v7
      +vv7+/r7+/v6+/v7+vv7+vv6+vv7+/v7+/v6+vr7+/v6+/v7+/v6+/r6+/r7+/v7+/r7+/r7
      +vv7+/v7+/v7+/v6+/v7+/v7+/v6+vr6+vv7+/r6+/v7+/v7+/v7+/v6+/v7+/v7+/r7+/r6
      +/v7+/v6+vv7+vv7+vr7+/v7+vv7+/v7+vv7+/v7+vr7+/r7+/v7+/v7+/r7+vv6+/v6+/v7
      +/v7+/v7+/v6+/v7+/v7+/r7+vv7+/v7+/v7+/v7+/v7+/v7+/v6+/v7+/v7+vv6+vv7+/v7
      +/r6+/v7+/r7+/v7+/v7+/v708GztZV9tpV+tpmFuKOStpZ/tpZ/upyH+vj5/Pv7+/v8+/v7
      /Pz7/Pz7+/v8/Pv7+/v8/Pz7/Pz8/Pz7/Pv8/Pz8/Pv7+/z7+/z7/Pv7+/z8/Pv8/Pz8/Pv7
      +/v7+/v7+/z7+/v8/Pv8/Pv7+/v7/Pv8/Pv8/Pv7/Pv8+/z8+/v7+/v7+/z7/Pz8+/z8/Pv8
      /Pz8+/z7+/v8/Pv8+/v7+/v8+/v7+/v7/Pz8+/v7/Pv8/Pz7+/v7+/z8/Pv8+/v8/Pz7+/v8
      +/z8+/z7/Pv8/Pz8/Pv7+/v7/Pv7+/v8/Pz8+/z7+/v7+/z8/Pv7+/v7+/z8+/v7/Pv7+/z8
      /Pz7+/v8+/z8/Pv8/Pz7/Pv8+/v7/Pz8+/z8+/z8+/z7+/v7+/z8+/z8+/z8+fj4upyHtpd+
      tpZ/uKKSvK6kt5iAt5eAuJeA2svA/fz8/Pz8/Pz8/Pz8/P39/fz8/fz8/fz8/Pz8/Pz8/Pz8
      /Pz8/fz8/Pz8/f38/Pz8/Pz8/Pz9/P39/P38/Pz8/Pz8/Pz8/Pz8/Pz8/P38/Pz8/Pz8/Pz8
      /Pz9/Pz8/Pz8/Pz8/Pz8/Pz8/fz8/Pz8/Pz8/Pz8/Pz8/fz8/P38/Pz8/Pz8/Pz8/fz8/fz8
      /Pz8/Pz8/P38/P39/Pz8/Pz8/Pz8/Pz8/fz9/fz8/Pz8/Pz8/P39/fz8/Pz8/P38/Pz8/P38
      /Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/P38/Pz8/Pz8/Pz9/P39/Pz8/Pz8/fz8/fz8/Pz8/P38/Pz8
      /Pz9/Pz8/Pz8/fz8/Pz8/Pz8/P382svAt5eAuJeAt5eAvK6kv727uJiCuJiCuJiCuJiC7uji
      /f38/f39/Pz8/f39/fz8/f39/f39/f39/fz9/f39/P39/f39/P38/f39/P39/f39/P39/f39
      /f39/P39/f39/P38/P39/fz9/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/P39
      /f39/P38/f39/f39/f38/f39/f39/P39/f39/P39/Pz8/f39/fz9/f39/fz9/f39/fz8/P39
      /fz9/f39/f39/fz9/f39/f39/P39/P38/f39/f39/fz9/f39/P39/f39/f38/f39/fz9/f39
      /Pz9/fz8/f39/f39/f39/f38/f39/Pz9/Pz9/f38/f39/fz8/f39/f38/P39/P397ujjuJiB
      uJiCuJiBuJiCv727wMDAvKuguZmDuZmDuZmDw6iW7+nj/v79/f39/v3+/f3+/v39/v39/f7+
      /f39/f79/v7+/v79/v7+/f39/v39/f7+/f7+/f39/v3+/f39/v39/v79/f3+/v3+/v39/f79
      /v39/f39/v7+/f79/v3+/f3+/v3+/v79/f79/v39/f3+/f7+/f79/f39/f39/v7+/f79/f7+
      /f7+/v7+/v3+/f39/v39/v3+/f79/f7+/f39/f79/f79/f39/f39/f39/v3+/v79/v79/f7+
      /f39/v79/f3+/v7+/f7+/v79/v39/f39/f39/f79/v3+/v39/f3+/f39/f7+/v79/f3+/f3+
      /f7+/v7+/f39/f7+/f39/f39/f3+7unkw6iWuZmDuZmDuZmDvKugwMDAwMDAwMDAuqGQupuE
      upqEupqEupqE3M7E/Pv7/v7+/v7+/v7+/v7+/v7+/v7+//7+/v7+/v7+/v7+/v7+/v7+/v7+
      /v7+/v7//v7+/v7+/v7+//7+/v7+//7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7//v7+
      /v7+/v7+/v7+/v7+/v7+/v7+/v7//v7+/v/+/v7+/v7+/v/+/v7+/v7+/////v7+/v7+/v7/
      /v7+/v7////+/v7+/v7+/v7+/v/+/v7+/v7+/v7+/v7//v7+/v7+/v7+/v/+/v7+/v7+//7+
      /v/+/v7+/v7//v7+/v7+/v7+/v7+/v7//v7+/v7+//7+/v7+/v/+/v7///7+/Pv73c7DupqE
      upqEupqEuZuEu6GQwMDAwMDAwMDAwMDAv7q2u5+Mu5uFupyFu5uFupyFv6GO18a56uDa9vPx
      /v////////////7////////////////+/v///////v/////+/v7+/////v/+//7//v//////
      //7//v////////7//////v///v///v///v7////+/v/+///+//////7///////7///7///7/
      ///////////////////////+///+//////7///7///7+///+//////////////7///7+//7/
      ///////+//7//v7//////////v///v7///////7+//////////7///////////////7/////
      /////v////7//v//9vPx6uHa18a5vqGNupuFu5yGu5uGu5uFup+Lv7q2wMDAwMDAwMDAwMDA
      wMDAv7q3vKOSvJ2HvJyHvJyHu5yGu5yHvJyGvJ2Hu5yHvJyHvJyHvJ2HvJyGvJyHvJ2GvJ2G
      u52HvJyHvJ2HvJyHvJyGu5yHu52HvJyHvJyHu5yGvJyHvJyHu5yHu5yGu5yHu5yHu5yHvJ2H
      u52GvJyHu52HvJyHu5yHu5yHu5yHu52Hu5yHu52Hu5yHvJ2GvJ2Hu5yGvJ2Gu5yHvJ2Gu5yG
      vJyHu5yGvJyHvJyHvJyGvJyHvJyHvJyGu5yHvJyHu5yGvJyHu5yGvJyGu52GvJyHvJyHu5yH
      u5yHu5yHu5yHu5yGu5yHu52Hu5yHu5yHu5yHu5yGu52HvJyHu5yHu5yHu5yHvJyHu5yHvJ2H
      vJyGu5yHvJyHvKOSv7q2wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAva2ivJ6KvJ2IvZ2IvJ2I
      vJ6IvJ2IvJ2JvJ2IvJ2IvZ2IvZ2IvJ2IvJ6IvJ2IvJ2JvJ6IvJ2IvJ2JvZ2IvJ2IvZ2IvZ2I
      vJ2IvZ6IvZ2IvZ6IvZ2JvJ6IvJ2IvZ2JvJ6IvJ2IvZ2IvJ2IvZ6IvJ2IvZ2IvZ2IvJ2IvZ2I
      vZ2IvZ2IvJ6JvJ6IvJ6IvJ2JvZ6IvZ2IvJ2JvZ6IvZ2IvJ2IvJ2JvJ6IvJ2IvZ2IvJ2IvJ2J
      vZ2IvJ2IvZ2IvJ6IvJ6IvZ2IvZ6JvZ2IvJ6IvZ2IvZ6IvJ6IvZ2IvJ2IvJ2IvZ6IvJ2IvZ2I
      vJ2JvJ6JvZ2IvJ6IvZ2IvJ2IvJ2IvJ2IvJ6IvZ2IvJ2IvJ2Jva2iwMDAwMDAwMDAwMDAwMDA
      wMDAwMDAwMDAwMDAwMDAwMDAv728vrGovaiZvaGPvZ6JvZ6JvZ6JvZ6JvZ6JvZ6JvZ6JvZ6J
      vZ6JvZ6JvZ6JvZ6JvZ6JvZ6JvZ6JvZ6JvZ6JvZ6JvZ6JvZ6JvZ6JvZ6JvZ6JvZ6JvZ6JvZ6J
      vZ6JvZ6JvZ6JvZ6JvZ6JvZ6JvZ6JvZ6JvZ6JvZ6JvZ6JvZ6JvZ6JvZ6JvZ6JvZ6JvZ6JvZ6J
      vZ6JvZ6JvZ6JvZ6JvZ6JvZ6JvZ6JvZ6JvZ6JvZ6JvZ6JvZ6JvZ6JvZ6JvZ6JvZ6JvZ6JvZ6J
      vZ6JvZ6JvZ6JvZ6JvZ6JvZ6JvZ6JvZ6JvZ6JvZ6JvZ6JvZ6JvZ6JvZ6JvZ6JvZ6JvZ6JvZ6J
      vaGPvaiZvrGov728wMDAwMDAwMDAwMDAwMDAwMDA
    </Image>
  </Logo>
  <Icon>
    <Image type="bitmap" xmlns:dt="urn:schemas-microsoft-com:datatypes" dt:dt="bin.base64">
      Qk02AwAAAAAAADYAAAAoAAAAEAAAABAAAAABABgAAAAAAAADAAATCwAAEwsAAAAAAAAAAAAA
      u7i1j3VWjm9MlnlYlnpYlXlXlXlYlnpXlnlYlnpYlnpYlXlYlXpYj3BMj3VWuri0kXdZ////
      ////////////////////////////////////////////////////kXdZlHVS////////////
      /////Pv6/////////////v7+/Pv6////////////////lHVTnoJh////////////9PLvf1Qi
      /////v7+////////u6GEkmw+lXRLqpFz7unjnoJhoYNk////////////lWs8n3E9jV0myLil
      ////////rY5qwKKAmGo1wauR/f38oYNko4Zn////4dnOjF0nkVwhrodcvJt3pXtMpYBWlGg1
      kFoem3FB6ePc/////v7+o4Znpolp8OzogU0RkWAplGMtjVogpXpJu5l0n3I+kl0jkl4jqoxp
      /////v7+////polpqYts////////////y7unh1QbkFsgoXVDlGEnkl4kr4hemGo14tnO/Pv7
      ////qYtsq45w////////////jlofmXFEwKmOxbCXxrGYl2o2n3A9upl0o3hHk2Muu6SKq45w
      rpBy////////////n3tQkmMt6OHa////////0cOxjVYZnW04jV4oxrKb+/v6rpBysJN1////
      /////v7+////spRwhE0Rw62V/v7+////wauRvaSH+/r5/////v7+sJN1s5Z4/////v798Ork
      9PHs8u3nzr2okVwg9fLt////////////////////////s5Z5tZh7/////f39uaSKkWEqw6eG
      kFsfjmEt/fz8////////////////////////tph7s5N0////////////+vj2imQ23dLE/f38
      ////////////////////////////s5N0sZV8/////////////v7+////////////////////
      ////////////////////sZZ8vru5s5d+uZl7vqCEvqCEvqCEvqCEvqCEvqCEvqCEvqCEvqCE
      vqCEuZl7s5d+vru5rboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26
      DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3w
      rboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26
      DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCt
      ug==
    </Image>
  </Icon>
  <UMLPatterns>
    <UMLPattern>
      <XMI xmi.version="1.1" xmlns:UML="omg.org/UML1.3" timestamp="2005-02-11 15:26:42">
        <XMI.header>
          <XMI.documentation>
            <XMI.exporter>Enterprise Architect</XMI.exporter>
            <XMI.exporterVersion>2.5</XMI.exporterVersion>
          </XMI.documentation>
        </XMI.header>
        <XMI.content>
          <UML:Model name="EA Model" xmi.id="MX_EAID_A8106FE9_13F9_42bd_AABE_5F65DC0A7E97">
            <UML:Namespace.ownedElement>
              <UML:Class name="AbstractFactory" xmi.id="EAID_24494216_F3D1_4a0d_944E_90FBA081904F" visibility="public" namespace="EAPK_A8106FE9_13F9_42bd_AABE_5F65DC0A7E97" isRoot="false" isLeaf="false" isAbstract="true" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class declares an interface for operations that create abstract product objects."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_A8106FE9_13F9_42bd_AABE_5F65DC0A7E97"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-06 16:02:31"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-09 11:31:31"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Abstract Factory"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="CreateProductA" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="AbstractProductA"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="isAbstract" value="1"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{234E00B8-8B27-4e99-B3D7-26E52B9C4F13}"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="EAID_C4A25C35_7F48_4636_A022_9CE66ABE3502"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="AbstractProductA"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="classifier" value="EAID_C4A25C35_7F48_4636_A022_9CE66ABE3502"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-8B27-4e99-B3D7-26E52B9C4F13}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                  <UML:Operation name="CreateProductB" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="AbstractProductB"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="isAbstract" value="1"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="1"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{9EA0ECE6-9B7C-4e55-9C60-A2E612AAA06C}"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="EAID_83625EB2_A2E1_440d_AF40_DEAFA28009A7"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="AbstractProductB"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="classifier" value="EAID_83625EB2_A2E1_440d_AF40_DEAFA28009A7"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-9B7C-4e55-9C60-A2E612AAA06C}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
              <UML:Generalization subtype="EAID_22F3D39E_D155_4558_9FDE_94366B333FDC" supertype="EAID_24494216_F3D1_4a0d_944E_90FBA081904F" xmi.id="EAID_59A12913_17F2_4988_89D6_A3523785B558" visibility="public">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="3"/>
                  <UML:TaggedValue tag="ea_type" value="Generalization"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="3"/>
                  <UML:TaggedValue tag="linecolor" value="0"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="subtype" value="Tree"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="src_visibility" value="Public"/>
                  <UML:TaggedValue tag="src_aggregation" value="0"/>
                  <UML:TaggedValue tag="src_isOrdered" value="false"/>
                  <UML:TaggedValue tag="src_isNavigable" value="false"/>
                  <UML:TaggedValue tag="dst_visibility" value="Public"/>
                  <UML:TaggedValue tag="dst_aggregation" value="0"/>
                  <UML:TaggedValue tag="dst_isOrdered" value="false"/>
                  <UML:TaggedValue tag="dst_isNavigable" value="false"/>
                  <UML:TaggedValue tag="$ea_xref_property" value="$XREFPROP=$XID={EE5AD6B2-5CF2-4f10-B53E-5B1D27621CB5}$XID;$NAM=CustomProperties$NAM;$TYP=connector property$TYP;$VIS=Public$VIS;$DES=@PROP=@NAME=isSubstitutable@ENDNAME;@TYPE=boolean@ENDTYPE;@VALU=@ENDVALU;@PRMT=@ENDPRMT;@ENDPROP;$DES;$CLT={59A12913-17F2-4988-89D6-A3523785B558}$CLT;$SUP=&lt;none&gt;$SUP;$ENDXREF;"/>
                  <UML:TaggedValue tag="privatedata5" value="SX=0;SY=0;EDGE=1;"/>
                </UML:ModelElement.taggedValue>
              </UML:Generalization>
              <UML:Generalization subtype="EAID_BE106795_2127_4a75_88F2_6AAADEB6E2C7" supertype="EAID_24494216_F3D1_4a0d_944E_90FBA081904F" xmi.id="EAID_D3765714_5BB9_484e_9CBC_77AD3DE1DBEE" visibility="public">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="3"/>
                  <UML:TaggedValue tag="ea_type" value="Generalization"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="3"/>
                  <UML:TaggedValue tag="linecolor" value="0"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="subtype" value="Tree"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="src_visibility" value="Public"/>
                  <UML:TaggedValue tag="src_aggregation" value="0"/>
                  <UML:TaggedValue tag="src_isOrdered" value="false"/>
                  <UML:TaggedValue tag="src_isNavigable" value="false"/>
                  <UML:TaggedValue tag="dst_visibility" value="Public"/>
                  <UML:TaggedValue tag="dst_aggregation" value="0"/>
                  <UML:TaggedValue tag="dst_isOrdered" value="false"/>
                  <UML:TaggedValue tag="dst_isNavigable" value="false"/>
                  <UML:TaggedValue tag="$ea_xref_property" value="$XREFPROP=$XID={BA7175C1-990C-4585-A12B-F875D3FD0A47}$XID;$NAM=CustomProperties$NAM;$TYP=connector property$TYP;$VIS=Public$VIS;$DES=@PROP=@NAME=isSubstitutable@ENDNAME;@TYPE=boolean@ENDTYPE;@VALU=@ENDVALU;@PRMT=@ENDPRMT;@ENDPROP;$DES;$CLT={D3765714-5BB9-484e-9CBC-77AD3DE1DBEE}$CLT;$SUP=&lt;none&gt;$SUP;$ENDXREF;"/>
                  <UML:TaggedValue tag="privatedata5" value="SX=0;SY=1;EDGE=1;EX=-11;EY=1;"/>
                </UML:ModelElement.taggedValue>
              </UML:Generalization>
              <UML:Class name="ConcreteFactory1" xmi.id="EAID_BE106795_2127_4a75_88F2_6AAADEB6E2C7" visibility="public" namespace="EAPK_A8106FE9_13F9_42bd_AABE_5F65DC0A7E97" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class implements the operations to create concrete product objects."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_A8106FE9_13F9_42bd_AABE_5F65DC0A7E97"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-06 16:03:43"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-09 11:31:31"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Abstract Factory"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="CreateProductA" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="AbstractProductA"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="behaviour" value="return new ProductA1();"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{93DBAF7C-2602-4edf-BBC0-EE4AB6F63C21}"/>
                      <UML:TaggedValue tag="styleex" value="ShowBeh=0;"/>
                      <UML:TaggedValue tag="override" value="true" xmi.id="EAID_B11E585A_B063_43b4_AB7B_F35F46BFCB00"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="EAID_C4A25C35_7F48_4636_A022_9CE66ABE3502"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="AbstractProductA"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="classifier" value="EAID_C4A25C35_7F48_4636_A022_9CE66ABE3502"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-2602-4edf-BBC0-EE4AB6F63C21}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                  <UML:Operation name="CreateProductB" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="AbstractProductB"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="behaviour" value="return new ProductB1();"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="1"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{12B1CAC0-55D8-47d4-9E2B-D0F15ADDD97C}"/>
                      <UML:TaggedValue tag="styleex" value="ShowBeh=0;"/>
                      <UML:TaggedValue tag="override" value="true" xmi.id="EAID_E44B513A_121A_4455_9613_7B415A74CE6B"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="EAID_83625EB2_A2E1_440d_AF40_DEAFA28009A7"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="AbstractProductB"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="classifier" value="EAID_83625EB2_A2E1_440d_AF40_DEAFA28009A7"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-55D8-47d4-9E2B-D0F15ADDD97C}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
              <UML:Class name="ConcreteFactory2" xmi.id="EAID_22F3D39E_D155_4558_9FDE_94366B333FDC" visibility="public" namespace="EAPK_A8106FE9_13F9_42bd_AABE_5F65DC0A7E97" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class implements the operations to create concrete product objects."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_A8106FE9_13F9_42bd_AABE_5F65DC0A7E97"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-06 16:04:07"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-09 11:31:31"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Abstract Factory"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="CreateProductA" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="AbstractProductA"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="behaviour" value="return new ProductA2();"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{3D83B753-543C-4476-B8F4-249A8D7C7802}"/>
                      <UML:TaggedValue tag="styleex" value="ShowBeh=0;"/>
                      <UML:TaggedValue tag="override" value="true" xmi.id="EAID_003A3E86_A4B8_47f9_9F4E_79E7BCC1CAD7"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="EAID_C4A25C35_7F48_4636_A022_9CE66ABE3502"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="AbstractProductA"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="classifier" value="EAID_C4A25C35_7F48_4636_A022_9CE66ABE3502"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-543C-4476-B8F4-249A8D7C7802}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                  <UML:Operation name="CreateProductB" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="AbstractProductB"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="behaviour" value="return new ProductB2();"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="1"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{3DD657BB-226A-47b0-94A6-CA32E8B8A653}"/>
                      <UML:TaggedValue tag="styleex" value="ShowBeh=0;"/>
                      <UML:TaggedValue tag="override" value="true" xmi.id="EAID_5C92E7C0_BCE3_42f7_8A65_0401F388E852"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="EAID_83625EB2_A2E1_440d_AF40_DEAFA28009A7"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="AbstractProductB"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="classifier" value="EAID_83625EB2_A2E1_440d_AF40_DEAFA28009A7"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-226A-47b0-94A6-CA32E8B8A653}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
              <UML:Class name="AbstractProductA" xmi.id="EAID_C4A25C35_7F48_4636_A022_9CE66ABE3502" visibility="public" namespace="EAPK_A8106FE9_13F9_42bd_AABE_5F65DC0A7E97" isRoot="false" isLeaf="false" isAbstract="true" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class declares an interface for a type of product object."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_A8106FE9_13F9_42bd_AABE_5F65DC0A7E97"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-06 16:05:00"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-09 11:31:31"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Abstract Factory"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
              </UML:Class>
              <UML:Generalization subtype="EAID_830A5D83_7F70_4bb7_AC88_4F85B9019961" supertype="EAID_C4A25C35_7F48_4636_A022_9CE66ABE3502" xmi.id="EAID_0194EF48_7C46_4dc8_A379_E1870B84129C" visibility="public">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="3"/>
                  <UML:TaggedValue tag="ea_type" value="Generalization"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="3"/>
                  <UML:TaggedValue tag="linecolor" value="0"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="subtype" value="Tree"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="src_visibility" value="Public"/>
                  <UML:TaggedValue tag="src_aggregation" value="0"/>
                  <UML:TaggedValue tag="src_isOrdered" value="false"/>
                  <UML:TaggedValue tag="src_isNavigable" value="false"/>
                  <UML:TaggedValue tag="dst_visibility" value="Public"/>
                  <UML:TaggedValue tag="dst_aggregation" value="0"/>
                  <UML:TaggedValue tag="dst_isOrdered" value="false"/>
                  <UML:TaggedValue tag="dst_isNavigable" value="false"/>
                  <UML:TaggedValue tag="$ea_xref_property" value="$XREFPROP=$XID={3FF157BB-AFD2-47c2-9FBF-598D4C0FB03E}$XID;$NAM=CustomProperties$NAM;$TYP=connector property$TYP;$VIS=Public$VIS;$DES=@PROP=@NAME=isSubstitutable@ENDNAME;@TYPE=boolean@ENDTYPE;@VALU=@ENDVALU;@PRMT=@ENDPRMT;@ENDPROP;$DES;$CLT={0194EF48-7C46-4dc8-A379-E1870B84129C}$CLT;$SUP=&lt;none&gt;$SUP;$ENDXREF;"/>
                  <UML:TaggedValue tag="privatedata5" value="SX=0;SY=0;EDGE=1;"/>
                </UML:ModelElement.taggedValue>
              </UML:Generalization>
              <UML:Generalization subtype="EAID_3A399227_7228_4c61_B9C2_00C3DE93BC1E" supertype="EAID_C4A25C35_7F48_4636_A022_9CE66ABE3502" xmi.id="EAID_B4895FA0_869E_4a30_894F_448903D8C9C8" visibility="public">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="3"/>
                  <UML:TaggedValue tag="ea_type" value="Generalization"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="3"/>
                  <UML:TaggedValue tag="linecolor" value="0"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="subtype" value="Tree"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="src_visibility" value="Public"/>
                  <UML:TaggedValue tag="src_aggregation" value="0"/>
                  <UML:TaggedValue tag="src_isOrdered" value="false"/>
                  <UML:TaggedValue tag="src_isNavigable" value="false"/>
                  <UML:TaggedValue tag="dst_visibility" value="Public"/>
                  <UML:TaggedValue tag="dst_aggregation" value="0"/>
                  <UML:TaggedValue tag="dst_isOrdered" value="false"/>
                  <UML:TaggedValue tag="dst_isNavigable" value="false"/>
                  <UML:TaggedValue tag="$ea_xref_property" value="$XREFPROP=$XID={CE725AC7-B5E1-4c22-80BB-5C6A6F66D015}$XID;$NAM=CustomProperties$NAM;$TYP=connector property$TYP;$VIS=Public$VIS;$DES=@PROP=@NAME=isSubstitutable@ENDNAME;@TYPE=boolean@ENDTYPE;@VALU=@ENDVALU;@PRMT=@ENDPRMT;@ENDPROP;$DES;$CLT={B4895FA0-869E-4a30-894F-448903D8C9C8}$CLT;$SUP=&lt;none&gt;$SUP;$ENDXREF;"/>
                  <UML:TaggedValue tag="privatedata5" value="SX=0;SY=0;EDGE=1;"/>
                </UML:ModelElement.taggedValue>
              </UML:Generalization>
              <UML:Class name="ProductA2" xmi.id="EAID_830A5D83_7F70_4bb7_AC88_4F85B9019961" visibility="public" namespace="EAPK_A8106FE9_13F9_42bd_AABE_5F65DC0A7E97" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class (a) defines a product object to be created by the corresponding concrete factory, and (b) implements the AbstractProduct interface."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_A8106FE9_13F9_42bd_AABE_5F65DC0A7E97"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-06 16:05:53"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-09 11:31:31"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Abstract Factory"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
              </UML:Class>
              <UML:Class name="ProductA1" xmi.id="EAID_3A399227_7228_4c61_B9C2_00C3DE93BC1E" visibility="public" namespace="EAPK_A8106FE9_13F9_42bd_AABE_5F65DC0A7E97" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class (a) defines a product object to be created by the corresponding concrete factory, and (b) implements the AbstractProduct interface."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_A8106FE9_13F9_42bd_AABE_5F65DC0A7E97"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-06 16:06:08"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-09 11:31:31"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Abstract Factory"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
              </UML:Class>
              <UML:Class name="AbstractProductB" xmi.id="EAID_83625EB2_A2E1_440d_AF40_DEAFA28009A7" visibility="public" namespace="EAPK_A8106FE9_13F9_42bd_AABE_5F65DC0A7E97" isRoot="false" isLeaf="false" isAbstract="true" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class declares an interface for a type of product object."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_A8106FE9_13F9_42bd_AABE_5F65DC0A7E97"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-06 16:06:57"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-09 11:31:31"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Abstract Factory"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
              </UML:Class>
              <UML:Generalization subtype="EAID_376619D4_E9DA_4e41_A576_5FBF4063680C" supertype="EAID_83625EB2_A2E1_440d_AF40_DEAFA28009A7" xmi.id="EAID_70BBA059_D8B8_4984_9E53_12CE2E989DFE" visibility="public">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="3"/>
                  <UML:TaggedValue tag="ea_type" value="Generalization"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="3"/>
                  <UML:TaggedValue tag="linecolor" value="0"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="subtype" value="Tree"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="src_visibility" value="Public"/>
                  <UML:TaggedValue tag="src_aggregation" value="0"/>
                  <UML:TaggedValue tag="src_isOrdered" value="false"/>
                  <UML:TaggedValue tag="src_isNavigable" value="false"/>
                  <UML:TaggedValue tag="dst_visibility" value="Public"/>
                  <UML:TaggedValue tag="dst_aggregation" value="0"/>
                  <UML:TaggedValue tag="dst_isOrdered" value="false"/>
                  <UML:TaggedValue tag="dst_isNavigable" value="false"/>
                  <UML:TaggedValue tag="$ea_xref_property" value="$XREFPROP=$XID={F1BBEE1A-259D-46f7-8240-D65DD62A9A64}$XID;$NAM=CustomProperties$NAM;$TYP=connector property$TYP;$VIS=Public$VIS;$DES=@PROP=@NAME=isSubstitutable@ENDNAME;@TYPE=boolean@ENDTYPE;@VALU=@ENDVALU;@PRMT=@ENDPRMT;@ENDPROP;$DES;$CLT={70BBA059-D8B8-4984-9E53-12CE2E989DFE}$CLT;$SUP=&lt;none&gt;$SUP;$ENDXREF;"/>
                  <UML:TaggedValue tag="privatedata5" value="SX=0;SY=0;EDGE=1;"/>
                </UML:ModelElement.taggedValue>
              </UML:Generalization>
              <UML:Generalization subtype="EAID_6B8B0872_C343_4bfd_AB94_26A889295945" supertype="EAID_83625EB2_A2E1_440d_AF40_DEAFA28009A7" xmi.id="EAID_A847F60D_5640_4b8a_977A_7234F20E491F" visibility="public">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="3"/>
                  <UML:TaggedValue tag="ea_type" value="Generalization"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="3"/>
                  <UML:TaggedValue tag="linecolor" value="0"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="subtype" value="Tree"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="src_visibility" value="Public"/>
                  <UML:TaggedValue tag="src_aggregation" value="0"/>
                  <UML:TaggedValue tag="src_isOrdered" value="false"/>
                  <UML:TaggedValue tag="src_isNavigable" value="false"/>
                  <UML:TaggedValue tag="dst_visibility" value="Public"/>
                  <UML:TaggedValue tag="dst_aggregation" value="0"/>
                  <UML:TaggedValue tag="dst_isOrdered" value="false"/>
                  <UML:TaggedValue tag="dst_isNavigable" value="false"/>
                  <UML:TaggedValue tag="$ea_xref_property" value="$XREFPROP=$XID={C4676DB3-1465-408b-BB30-1BD6966E8FC9}$XID;$NAM=CustomProperties$NAM;$TYP=connector property$TYP;$VIS=Public$VIS;$DES=@PROP=@NAME=isSubstitutable@ENDNAME;@TYPE=boolean@ENDTYPE;@VALU=@ENDVALU;@PRMT=@ENDPRMT;@ENDPROP;$DES;$CLT={A847F60D-5640-4b8a-977A-7234F20E491F}$CLT;$SUP=&lt;none&gt;$SUP;$ENDXREF;"/>
                  <UML:TaggedValue tag="privatedata5" value="SX=0;SY=0;EDGE=1;"/>
                </UML:ModelElement.taggedValue>
              </UML:Generalization>
              <UML:Class name="ProductB2" xmi.id="EAID_376619D4_E9DA_4e41_A576_5FBF4063680C" visibility="public" namespace="EAPK_A8106FE9_13F9_42bd_AABE_5F65DC0A7E97" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class (a) defines a product object to be created by the corresponding concrete factory, and (b) implements the AbstractProduct interface."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_A8106FE9_13F9_42bd_AABE_5F65DC0A7E97"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-06 16:07:13"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-09 11:31:31"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Abstract Factory"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
              </UML:Class>
              <UML:Class name="ProductB1" xmi.id="EAID_6B8B0872_C343_4bfd_AB94_26A889295945" visibility="public" namespace="EAPK_A8106FE9_13F9_42bd_AABE_5F65DC0A7E97" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class (a) defines a product object to be created by the corresponding concrete factory, and (b) implements the AbstractProduct interface."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_A8106FE9_13F9_42bd_AABE_5F65DC0A7E97"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-06 16:07:27"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-09 11:31:31"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Abstract Factory"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
              </UML:Class>
            </UML:Namespace.ownedElement>
          </UML:Model>
          <UML:Diagram name="Abstract Factory" xmi.id="EAID_080D28E3_FE62_4d90_8A34_70BB08E97484" diagramType="ClassDiagram" owner="EAPK_080D28E3_FE62_4d90_8A34_70BB08E97484" toolName="Enterprise Architect 2.5">
            <UML:ModelElement.taggedValue>
              <UML:TaggedValue tag="documentation" value="This pattern provides an interface for creating families of related or dependent objects without specifying their concrete classes."/>
              <UML:TaggedValue tag="version" value="1.0"/>
              <UML:TaggedValue tag="created_date" value="2004-12-14 13:31:35"/>
              <UML:TaggedValue tag="modified_date" value="2005-02-04 16:50:40"/>
              <UML:TaggedValue tag="package" value="EAPK_A8106FE9_13F9_42bd_AABE_5F65DC0A7E97"/>
              <UML:TaggedValue tag="type" value="Logical"/>
              <UML:TaggedValue tag="swimlanes" value="locked=false;orientation=0;width=0;inbar=false;names=false;color=0;bold=false;fcol=0;;cls=0;"/>
              <UML:TaggedValue tag="EAStyle" value="ShowPrivate=1;ShowProtected=1;ShowPublic=1;HideRelationships=0;Locked=0;Border=1;HighlightForeign=1;PackageContents=1;SequenceNotes=0;ScalePrintImage=0;PPgs.cx=0;PPgs.cy=0;DocSize.cx=780;DocSize.cy=1138;ShowDetails=0;Orientation=P;Zoom=100;ShowTags=0;OpParams=1;ShowIcons=1;CollabNums=0;HideProps=0;ShowReqs=0;ShowCons=0;PaperSize=9;HideParents=0;UseAlias=0;HideAtts=0;HideOps=0;HideStereo=0;HideElemStereo=0;ShowTests=0;ShowMaint=0;"/>
              <UML:TaggedValue tag="styleex" value="ExcludeRTF=0;DocAll=0;HideQuals=0;AttPkg=1;ShowTests=0;ShowMaint=0;SuppressFOC=0;TDurLow=0;TDurHigh=100;TDurUnit=;TDurHide=0;"/>
            </UML:ModelElement.taggedValue>
            <UML:Diagram.element>
              <UML:DiagramElement geometry="Left=455;Top=306;Right=545;Bottom=338;imgL=444;imgT=291;imgR=534;imgB=323;" subject="EAID_6B8B0872_C343_4bfd_AB94_26A889295945" seqno="1" style="DUID=94ED63A2;LBL=;"/>
              <UML:DiagramElement geometry="Left=603;Top=306;Right=693;Bottom=338;imgL=592;imgT=291;imgR=682;imgB=323;" subject="EAID_376619D4_E9DA_4e41_A576_5FBF4063680C" seqno="2" style="DUID=53922762;LBL=;"/>
              <UML:DiagramElement geometry="Left=528;Top=193;Right=618;Bottom=225;imgL=517;imgT=178;imgR=607;imgB=210;" subject="EAID_83625EB2_A2E1_440d_AF40_DEAFA28009A7" seqno="3" style="DUID=3727A504;LBL=;"/>
              <UML:DiagramElement geometry="Left=450;Top=130;Right=540;Bottom=162;imgL=439;imgT=115;imgR=529;imgB=147;" subject="EAID_3A399227_7228_4c61_B9C2_00C3DE93BC1E" seqno="4" style="DUID=7EB82B50;LBL=;"/>
              <UML:DiagramElement geometry="Left=602;Top=129;Right=692;Bottom=161;imgL=591;imgT=114;imgR=681;imgB=146;" subject="EAID_830A5D83_7F70_4bb7_AC88_4F85B9019961" seqno="5" style="DUID=BC34F9C5;LBL=;"/>
              <UML:DiagramElement geometry="Left=522;Top=25;Right=612;Bottom=57;imgL=511;imgT=10;imgR=601;imgB=42;" subject="EAID_C4A25C35_7F48_4636_A022_9CE66ABE3502" seqno="6" style="DUID=FD6E35F8;LBL=;"/>
              <UML:DiagramElement geometry="Left=238;Top=201;Right=434;Bottom=271;imgL=227;imgT=186;imgR=423;imgB=256;" subject="EAID_22F3D39E_D155_4558_9FDE_94366B333FDC" seqno="7" style="DUID=101BBE14;LBL=;"/>
              <UML:DiagramElement geometry="Left=21;Top=201;Right=217;Bottom=270;imgL=10;imgT=186;imgR=206;imgB=255;" subject="EAID_BE106795_2127_4a75_88F2_6AAADEB6E2C7" seqno="8" style="DUID=7C9F16D2;LBL=;"/>
              <UML:DiagramElement geometry="Left=123;Top=27;Right=320;Bottom=93;imgL=112;imgT=12;imgR=309;imgB=78;" subject="EAID_24494216_F3D1_4a0d_944E_90FBA081904F" seqno="9" style="DUID=A62D514A;LBL=;"/>
              <UML:DiagramElement geometry="SX=0;SY=0;EDGE=1;$LLB=;LLT=;LMT=;LMB=;LRT=;LRB=;Path=336:-143$221:-143$;" subject="EAID_59A12913_17F2_4988_89D6_A3523785B558" style="Mode=3;EOID=A62D514A;SOID=101BBE14;Hidden=0;"/>
              <UML:DiagramElement geometry="SX=0;SY=1;EDGE=1;EX=-11;EY=1;$LLB=;LLT=;LMT=;LMB=;LRT=;LRB=;Path=119:-143$221:-143$;" subject="EAID_D3765714_5BB9_484e_9CBC_77AD3DE1DBEE" style="Mode=3;EOID=A62D514A;SOID=7C9F16D2;Hidden=0;"/>
              <UML:DiagramElement geometry="SX=0;SY=0;EDGE=1;$LLB=;LLT=;LMT=;LMB=;LRT=;LRB=;Path=495:-107$567:-107$;" subject="EAID_B4895FA0_869E_4a30_894F_448903D8C9C8" style="Mode=3;EOID=FD6E35F8;SOID=7EB82B50;Hidden=0;"/>
              <UML:DiagramElement geometry="SX=0;SY=0;EDGE=1;$LLB=;LLT=;LMT=;LMB=;LRT=;LRB=;Path=647:-107$567:-107$;" subject="EAID_0194EF48_7C46_4dc8_A379_E1870B84129C" style="Mode=3;EOID=FD6E35F8;SOID=BC34F9C5;Hidden=0;"/>
              <UML:DiagramElement geometry="SX=0;SY=0;EDGE=1;$LLB=;LLT=;LMT=;LMB=;LRT=;LRB=;Path=648:-275$573:-275$;" subject="EAID_70BBA059_D8B8_4984_9E53_12CE2E989DFE" style="Mode=3;EOID=3727A504;SOID=53922762;Hidden=0;"/>
              <UML:DiagramElement geometry="SX=0;SY=0;EDGE=1;$LLB=;LLT=;LMT=;LMB=;LRT=;LRB=;Path=500:-275$573:-275$;" subject="EAID_A847F60D_5640_4b8a_977A_7234F20E491F" style="Mode=3;EOID=3727A504;SOID=94ED63A2;Hidden=0;"/>
            </UML:Diagram.element>
          </UML:Diagram>
        </XMI.content>
        <XMI.difference/>
        <XMI.extensions xmi.extender="Enterprise Architect 2.5">
          <EAStub xmi.id="EAID_22F3D39E_D155_4558_9FDE_94366B333FDC" name="ConcreteFactory2" UMLType="Class"/>
          <EAStub xmi.id="EAID_24494216_F3D1_4a0d_944E_90FBA081904F" name="AbstractFactory" UMLType="Class"/>
          <EAStub xmi.id="EAID_BE106795_2127_4a75_88F2_6AAADEB6E2C7" name="ConcreteFactory1" UMLType="Class"/>
          <EAStub xmi.id="EAID_830A5D83_7F70_4bb7_AC88_4F85B9019961" name="ProductA2" UMLType="Class"/>
          <EAStub xmi.id="EAID_C4A25C35_7F48_4636_A022_9CE66ABE3502" name="AbstractProductA" UMLType="Class"/>
          <EAStub xmi.id="EAID_3A399227_7228_4c61_B9C2_00C3DE93BC1E" name="ProductA1" UMLType="Class"/>
          <EAStub xmi.id="EAID_376619D4_E9DA_4e41_A576_5FBF4063680C" name="ProductB2" UMLType="Class"/>
          <EAStub xmi.id="EAID_83625EB2_A2E1_440d_AF40_DEAFA28009A7" name="AbstractProductB" UMLType="Class"/>
          <EAStub xmi.id="EAID_6B8B0872_C343_4bfd_AB94_26A889295945" name="ProductB1" UMLType="Class"/>
          <UMLPattern name="Abstract Factory" category="GoF Creational Patterns" version="1.0" notes="This pattern provides an interface for creating families of related or dependent objects without specifying their concrete classes.">
            <UMLPattern.PromptList>
              <Element name="ProductB1:Class" guid="EAID_6B8B0872_C343_4bfd_AB94_26A889295945" id="771" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class (a) defines a product object to be created by the corresponding concrete factory, and (b) implements the AbstractProduct interface.">
                  <![CDATA[This class (a) defines a product object to be created by the corresponding concrete factory, and (b) implements the AbstractProduct interface.]]>
                </Comment>
              </Element>
              <Element name="ProductB2:Class" guid="EAID_376619D4_E9DA_4e41_A576_5FBF4063680C" id="770" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class (a) defines a product object to be created by the corresponding concrete factory, and (b) implements the AbstractProduct interface.">
                  <![CDATA[This class (a) defines a product object to be created by the corresponding concrete factory, and (b) implements the AbstractProduct interface.]]>
                </Comment>
              </Element>
              <Element name="AbstractProductB:Class" guid="EAID_83625EB2_A2E1_440d_AF40_DEAFA28009A7" id="769" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class declares an interface for a type of product object.">
                  <![CDATA[This class declares an interface for a type of product object.]]>
                </Comment>
              </Element>
              <Element name="ProductA1:Class" guid="EAID_3A399227_7228_4c61_B9C2_00C3DE93BC1E" id="768" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class (a) defines a product object to be created by the corresponding concrete factory, and (b) implements the AbstractProduct interface.">
                  <![CDATA[This class (a) defines a product object to be created by the corresponding concrete factory, and (b) implements the AbstractProduct interface.]]>
                </Comment>
              </Element>
              <Element name="ProductA2:Class" guid="EAID_830A5D83_7F70_4bb7_AC88_4F85B9019961" id="767" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class (a) defines a product object to be created by the corresponding concrete factory, and (b) implements the AbstractProduct interface.">
                  <![CDATA[This class (a) defines a product object to be created by the corresponding concrete factory, and (b) implements the AbstractProduct interface.]]>
                </Comment>
              </Element>
              <Element name="AbstractProductA:Class" guid="EAID_C4A25C35_7F48_4636_A022_9CE66ABE3502" id="766" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class declares an interface for a type of product object.">
                  <![CDATA[This class declares an interface for a type of product object.]]>
                </Comment>
              </Element>
              <Element name="ConcreteFactory2:Class" guid="EAID_22F3D39E_D155_4558_9FDE_94366B333FDC" id="765" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class implements the operations to create concrete product objects.">
                  <![CDATA[This class implements the operations to create concrete product objects.]]>
                </Comment>
              </Element>
              <Element name="ConcreteFactory1:Class" guid="EAID_BE106795_2127_4a75_88F2_6AAADEB6E2C7" id="764" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class implements the operations to create concrete product objects.">
                  <![CDATA[This class implements the operations to create concrete product objects.]]>
                </Comment>
              </Element>
              <Element name="AbstractFactory:Class" guid="EAID_24494216_F3D1_4a0d_944E_90FBA081904F" id="763" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class declares an interface for operations that create abstract product objects.">
                  <![CDATA[This class declares an interface for operations that create abstract product objects.]]>
                </Comment>
              </Element>
            </UMLPattern.PromptList>
            <UMLPattern.PreviewImage xmlns:dt="urn:schemas-microsoft-com:datatypes" dt:dt="bin.base64" cx="19462" cy="9430">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 AAAYAAAABgAAAAAAAADAv8AAAAAAACUAAAAMAAAABgAAACYAAAAcAAAACAAAAAAAAAABAAAA AAAAAMC/wAAlAAAADAAAAAgAAAArAAAAGAAAAPEAAAA0////tAEAAO/+//8lAAAADAAAAAIA AAAoAAAADAAAAAYAAAAlAAAADAAAAAMAAAAoAAAADAAAAAgAAAArAAAAGAAAAO4AAAA3//// sQEAAPL+//8lAAAADAAAAAcAAABUAAAArAAAABoBAADDAAAAcAEAAM4AAAABAAAAAADhQQCQ 4sElAQAALv///xAAAABMAAAAAAAAAAAAAAAAAAAA//////////9sAAAAQwBvAG4AYwByAGUA dABlAEYAYQBjAHQAbwByAHkAMgAHAAAABgAAAAYAAAAGAAAABAAAAAYAAAADAAAABgAAAAYA AAAGAAAABgAAAAMAAAAGAAAABAAAAAUAAAAGAAAAJQAAAAwAAAABAAAAGwAAABAAAADuAAAA HP///zYAAAAQAAAAsQEAABz///8YAAAADAAAAAAAgAAYAAAADAAAAAAAAAAYAAAADAAAAABA QABUAAAAWAAAAOgAAADdAAAA8QAAAOkAAAABAAAAAADhQQCQ4sHzAAAAFP///wIAAABMAAAA AAAAAAAAAAAAAAAA//////////9QAAAAKwAgAAYAAAADAAAAVAAAACABAAD5AAAA3QAAAKIB AADpAAAAAQAAAAAA4UEAkOLBBAEAABT///8jAAAATAAAAAAAAAAAAAAAAAAAAP////////// lAAAAEMAcgBlAGEAdABlAFAAcgBvAGQAdQBjAHQAQQAoACkAIAA6ACAAQQBiAHMAdAByAGEA YwB0AFAAcgBvAGQAdQBjAHQAQQAAAAcAAAADAAAABgAAAAYAAAADAAAABgAAAAcAAAADAAAA BgAAAAYAAAAGAAAABQAAAAMAAAAHAAAAAwAAAAMAAAADAAAAAwAAAAMAAAAHAAAABgAAAAQA AAADAAAAAwAAAAYAAAAFAAAAAwAAAAcAAAADAAAABgAAAAYAAAAGAAAABQAAAAMAAAAHAAAA VAAAAFgAAADoAAAA6gAAAPEAAAD2AAAAAQAAAAAA4UEAkOLB8wAAAAf///8CAAAATAAAAAAA AAAAAAAAAAAAAP//////////UAAAACsAIAAGAAAAAwAAAFQAAAAgAQAA+QAAAOoAAACiAQAA 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 AABdAAAAAwAAAOMAlP/YAJT/3QCj/xIAAAAMAAAAAgAAABkAAAAMAAAA////ABIAAAAMAAAA AQAAABkAAAAMAAAA////ACUAAAAMAAAAAwAAACgAAAAMAAAACAAAACYAAAAcAAAACAAAAAAA AAABAAAAAAAAAAAAAAAlAAAADAAAAAgAAAAbAAAAEAAAAHcAAAA3////NgAAABAAAAB3AAAA cf///zYAAAAQAAAA3QAAAHH///82AAAAEAAAAN0AAACj////GwAAABAAAADdAAAAo////1YA AAAoAAAAzQAAAE4AAADYAAAAXQAAAAMAAADjAJT/2ACU/90Ao/8SAAAADAAAAAIAAAAZAAAA DAAAAP///wASAAAADAAAAAEAAAAZAAAADAAAAP///wAlAAAADAAAAAMAAAAoAAAADAAAAAgA AAAmAAAAHAAAAAgAAAAAAAAAAQAAAAAAAAAAAAAAJQAAAAwAAAAIAAAAGwAAABAAAADvAQAA fv///zYAAAAQAAAA7wEAAJX///82AAAAEAAAADcCAACV////NgAAABAAAAA3AgAAx////xsA AAAQAAAANwIAAMf///9WAAAAKAAAACcCAAAqAAAAMgIAADkAAAADAAAAPQK4/zICuP83Asf/ EgAAAAwAAAACAAAAGQAAAAwAAAD///8AEgAAAAwAAAABAAAAGQAAAAwAAAD///8AJQAAAAwA AAADAAAAKAAAAAwAAAAIAAAAJgAAABwAAAAIAAAAAAAAAAEAAAAAAAAAAAAAACUAAAAMAAAA CAAAABsAAAAQAAAAhwIAAH////82AAAAEAAAAIcCAACV////NgAAABAAAAA3AgAAlf///zYA AAAQAAAANwIAAMf///8bAAAAEAAAADcCAADH////VgAAACgAAAAnAgAAKgAAADICAAA5AAAA AwAAAD0CuP8yArj/NwLH/xIAAAAMAAAAAgAAABkAAAAMAAAA////ABIAAAAMAAAAAQAAABkA AAAMAAAA////ACUAAAAMAAAAAwAAACgAAAAMAAAACAAAACYAAAAcAAAACAAAAAAAAAABAAAA AAAAAAAAAAAlAAAADAAAAAgAAAAbAAAAEAAAAIgCAADO/v//NgAAABAAAACIAgAA7f7//zYA AAAQAAAAPQIAAO3+//82AAAAEAAAAD0CAAAf////GwAAABAAAAA9AgAAH////1YAAAAoAAAA LQIAANIAAAA4AgAA4QAAAAMAAABDAhD/OAIQ/z0CH/8SAAAADAAAAAIAAAAZAAAADAAAAP// /wASAAAADAAAAAEAAAAZAAAADAAAAP///wAlAAAADAAAAAMAAAAoAAAADAAAAAgAAAAmAAAA HAAAAAgAAAAAAAAAAQAAAAAAAAAAAAAAJQAAAAwAAAAIAAAAGwAAABAAAAD0AQAAzv7//zYA AAAQAAAA9AEAAO3+//82AAAAEAAAAD0CAADt/v//NgAAABAAAAA9AgAAH////xsAAAAQAAAA PQIAAB////9WAAAAKAAAAC0CAADSAAAAOAIAAOEAAAADAAAAQwIQ/zgCEP89Ah//EgAAAAwA AAACAAAAGQAAAAwAAAD///8AEgAAAAwAAAABAAAAGQAAAAwAAAD///8AJQAAAAwAAAADAAAA KAAAAAwAAAAIAAAAJQAAAAwAAAANAACAKAAAAAwAAAABAAAAKAAAAAwAAAAHAAAAJQAAAAwA AAAAAACAKAAAAAwAAAACAAAAJQAAAAwAAAAHAACAKAAAAAwAAAADAAAADgAAABQAAAAAAAAA EAAAABQAAAA=</UMLPattern.PreviewImage>
          </UMLPattern>
        </XMI.extensions>
      </XMI>
    </UMLPattern>
    <UMLPattern>
      <XMI xmi.version="1.1" xmlns:UML="omg.org/UML1.3" timestamp="2005-02-11 15:19:56">
        <XMI.header>
          <XMI.documentation>
            <XMI.exporter>Enterprise Architect</XMI.exporter>
            <XMI.exporterVersion>2.5</XMI.exporterVersion>
          </XMI.documentation>
        </XMI.header>
        <XMI.content>
          <UML:Model name="EA Model" xmi.id="MX_EAID_F6B62DAA_9F44_4b51_8507_EEB88BAC08B0">
            <UML:Namespace.ownedElement>
              <UML:Class name="Target" xmi.id="EAID_7AB9F2EA_C40D_4c8a_841F_B31D15F67715" visibility="public" namespace="EAPK_F6B62DAA_9F44_4b51_8507_EEB88BAC08B0" isRoot="false" isLeaf="false" isAbstract="true" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class defines the domain-specific interface that Client uses."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_F6B62DAA_9F44_4b51_8507_EEB88BAC08B0"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-06 22:01:39"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-11 14:58:20"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Adapter"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="Request" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="isAbstract" value="1"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{16A77106-AD70-468a-BB49-8FDB52BB5576}"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-AD70-468a-BB49-8FDB52BB5576}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
              <UML:Generalization subtype="EAID_8D2D953F_5A86_4bb9_B652_8DA5CBFF03A1" supertype="EAID_7AB9F2EA_C40D_4c8a_841F_B31D15F67715" xmi.id="EAID_70B39327_4691_497d_A02F_3B39E175F31B" visibility="public">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="1"/>
                  <UML:TaggedValue tag="ea_type" value="Generalization"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="1"/>
                  <UML:TaggedValue tag="linecolor" value="0"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="src_visibility" value="Public"/>
                  <UML:TaggedValue tag="src_aggregation" value="0"/>
                  <UML:TaggedValue tag="src_isOrdered" value="false"/>
                  <UML:TaggedValue tag="src_isNavigable" value="false"/>
                  <UML:TaggedValue tag="dst_visibility" value="Public"/>
                  <UML:TaggedValue tag="dst_aggregation" value="0"/>
                  <UML:TaggedValue tag="dst_isOrdered" value="false"/>
                  <UML:TaggedValue tag="dst_isNavigable" value="false"/>
                  <UML:TaggedValue tag="$ea_xref_property" value="$XREFPROP=$XID={507EE0B1-95A0-4738-8088-B8F35086A328}$XID;$NAM=CustomProperties$NAM;$TYP=connector property$TYP;$VIS=Public$VIS;$DES=@PROP=@NAME=isSubstitutable@ENDNAME;@TYPE=boolean@ENDTYPE;@VALU=@ENDVALU;@PRMT=@ENDPRMT;@ENDPROP;$DES;$CLT={70B39327-4691-497d-A02F-3B39E175F31B}$CLT;$SUP=&lt;none&gt;$SUP;$ENDXREF;"/>
                  <UML:TaggedValue tag="privatedata5" value="SX=0;SY=0;EDGE=1;"/>
                </UML:ModelElement.taggedValue>
              </UML:Generalization>
              <UML:Class name="Adaptee" xmi.id="EAID_DF0F6872_C9DE_43a0_A504_27C272C4AE36" visibility="public" namespace="EAPK_F6B62DAA_9F44_4b51_8507_EEB88BAC08B0" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class defines an existing interface that needs adapting."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_F6B62DAA_9F44_4b51_8507_EEB88BAC08B0"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-06 22:02:03"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-11 14:58:20"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Adapter"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="SpecificRequest" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{3F2BAF09-BA20-46bc-9AAB-E8DEA5CC19DC}"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-BA20-46bc-9AAB-E8DEA5CC19DC}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
              <UML:Association xmi.id="EAID_2D26475E_4D4C_48b4_9F19_600C731C2545" visibility="public" isRoot="false" isLeaf="false" isAbstract="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="3"/>
                  <UML:TaggedValue tag="ea_type" value="Association"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="3"/>
                  <UML:TaggedValue tag="linecolor" value="-1"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="virtualInheritance" value="0"/>
                </UML:ModelElement.taggedValue>
                <UML:Association.connection>
                  <UML:AssociationEnd visibility="public" aggregation="none" isOrdered="false" isNavigable="false" type="EAID_8D2D953F_5A86_4bb9_B652_8DA5CBFF03A1">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="containment" value="Unspecified"/>
                    </UML:ModelElement.taggedValue>
                  </UML:AssociationEnd>
                  <UML:AssociationEnd visibility="private" name="adaptee" aggregation="none" isOrdered="false" isNavigable="true" type="EAID_DF0F6872_C9DE_43a0_A504_27C272C4AE36">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="containment" value="Unspecified"/>
                    </UML:ModelElement.taggedValue>
                  </UML:AssociationEnd>
                </UML:Association.connection>
              </UML:Association>
              <UML:Class name="Adapter" xmi.id="EAID_8D2D953F_5A86_4bb9_B652_8DA5CBFF03A1" visibility="public" namespace="EAPK_F6B62DAA_9F44_4b51_8507_EEB88BAC08B0" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class adapts the interface of Adaptee to the Target interface."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_F6B62DAA_9F44_4b51_8507_EEB88BAC08B0"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-06 22:02:32"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-11 14:58:20"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Adapter"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="Request" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="behaviour" value="adaptee.SpecificRequest();"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{FFBDB860-30D0-42ed-8329-10BCCDB1A27C}"/>
                      <UML:TaggedValue tag="styleex" value="ShowBeh=0;"/>
                      <UML:TaggedValue tag="override" value="true" xmi.id="EAID_8F2BF886_36F4_4683_81C5_8F42B4971D82"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-30D0-42ed-8329-10BCCDB1A27C}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
            </UML:Namespace.ownedElement>
          </UML:Model>
          <UML:Diagram name="Adapter" xmi.id="EAID_7AEBC6F6_5EC7_4532_B334_9DFF592650CA" diagramType="ClassDiagram" owner="EAPK_7AEBC6F6_5EC7_4532_B334_9DFF592650CA" toolName="Enterprise Architect 2.5">
            <UML:ModelElement.taggedValue>
              <UML:TaggedValue tag="documentation" value="This pattern converts the interface of a class into another interface that clients expect. Adapter lets classes work together that couldn't otherwise because of incompatible interfaces."/>
              <UML:TaggedValue tag="version" value="1.0"/>
              <UML:TaggedValue tag="created_date" value="2004-12-14 13:31:48"/>
              <UML:TaggedValue tag="modified_date" value="2005-02-11 14:58:20"/>
              <UML:TaggedValue tag="package" value="EAPK_F6B62DAA_9F44_4b51_8507_EEB88BAC08B0"/>
              <UML:TaggedValue tag="type" value="Logical"/>
              <UML:TaggedValue tag="swimlanes" value="locked=false;orientation=0;width=0;inbar=false;names=false;color=0;bold=false;fcol=0;;cls=0;"/>
              <UML:TaggedValue tag="EAStyle" value="ShowPrivate=1;ShowProtected=1;ShowPublic=1;HideRelationships=0;Locked=0;Border=1;HighlightForeign=1;PackageContents=1;SequenceNotes=0;ScalePrintImage=0;PPgs.cx=0;PPgs.cy=0;DocSize.cx=780;DocSize.cy=1138;ShowDetails=0;Orientation=P;Zoom=100;ShowTags=0;OpParams=1;ShowIcons=1;CollabNums=0;HideProps=0;ShowReqs=0;ShowCons=0;PaperSize=9;HideParents=0;UseAlias=0;HideAtts=0;HideOps=0;HideStereo=0;HideElemStereo=0;ShowTests=0;ShowMaint=0;"/>
              <UML:TaggedValue tag="styleex" value="ExcludeRTF=0;DocAll=0;HideQuals=0;AttPkg=1;ShowTests=0;ShowMaint=0;SuppressFOC=0;TDurLow=0;TDurHigh=100;TDurUnit=;TDurHide=0;"/>
            </UML:ModelElement.taggedValue>
            <UML:Diagram.element>
              <UML:DiagramElement geometry="Left=100;Top=197;Right=200;Bottom=267;imgL=10;imgT=174;imgR=110;imgB=244;" subject="EAID_8D2D953F_5A86_4bb9_B652_8DA5CBFF03A1" seqno="1" style="DUID=3030A886;LBL=;"/>
              <UML:DiagramElement geometry="Left=296;Top=198;Right=434;Bottom=268;imgL=206;imgT=175;imgR=344;imgB=245;" subject="EAID_DF0F6872_C9DE_43a0_A504_27C272C4AE36" seqno="2" style="DUID=67E590EC;LBL=;"/>
              <UML:DiagramElement geometry="Left=100;Top=33;Right=201;Bottom=103;imgL=10;imgT=10;imgR=111;imgB=80;" subject="EAID_7AB9F2EA_C40D_4c8a_841F_B31D15F67715" seqno="3" style="DUID=E7FFFBBB;LBL=;"/>
              <UML:DiagramElement geometry="SX=0;SY=0;EDGE=1;$LLB=;LLT=;LMT=;LMB=;LRT=;LRB=;Path=249:-182$208:-182$;" subject="EAID_70B39327_4691_497d_A02F_3B39E175F31B" style="Mode=1;EOID=E7FFFBBB;SOID=3030A886;Hidden=0;"/>
              <UML:DiagramElement geometry="EDGE=2;$LLB=;LLT=;LMT=;LMB=;LRT=CX=52:CY=15:OX=0:OY=0:HDN=0:BLD=0:ITA=0:UND=0:CLR=-1:ALN=0:DIR=0:ROT=0;LRB=;Path=;" subject="EAID_2D26475E_4D4C_48b4_9F19_600C731C2545" style="Mode=3;EOID=67E590EC;SOID=3030A886;Hidden=0;"/>
            </UML:Diagram.element>
          </UML:Diagram>
        </XMI.content>
        <XMI.difference/>
        <XMI.extensions xmi.extender="Enterprise Architect 2.5">
          <EAStub xmi.id="EAID_8D2D953F_5A86_4bb9_B652_8DA5CBFF03A1" name="Adapter" UMLType="Class"/>
          <EAStub xmi.id="EAID_7AB9F2EA_C40D_4c8a_841F_B31D15F67715" name="Target" UMLType="Class"/>
          <EAStub xmi.id="EAID_DF0F6872_C9DE_43a0_A504_27C272C4AE36" name="Adaptee" UMLType="Class"/>
          <UMLPattern name="Adapter" category="GoF Structural Patterns" version="1.0" notes="This pattern converts the interface of a class into another interface that clients expect. Adapter lets classes work together that couldn't otherwise because of incompatible interfaces.">
            <UMLPattern.PromptList>
              <Element name="Adapter:Class" guid="EAID_8D2D953F_5A86_4bb9_B652_8DA5CBFF03A1" id="850" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class adapts the interface of Adaptee to the Target interface.">
                  <![CDATA[This class adapts the interface of Adaptee to the Target interface.]]>
                </Comment>
              </Element>
              <Element name="Adaptee:Class" guid="EAID_DF0F6872_C9DE_43a0_A504_27C272C4AE36" id="849" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class defines an existing interface that needs adapting.">
                  <![CDATA[This class defines an existing interface that needs adapting.]]>
                </Comment>
              </Element>
              <Element name="Target:Class" guid="EAID_7AB9F2EA_C40D_4c8a_841F_B31D15F67715" id="848" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class defines the domain-specific interface that Client uses.">
                  <![CDATA[This class defines the domain-specific interface that Client uses.]]>
                </Comment>
              </Element>
            </UMLPattern.PromptList>
            <UMLPattern.PreviewImage xmlns:dt="urn:schemas-microsoft-com:datatypes" dt:dt="bin.base64" cx="9956" cy="7221">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 wncHxMJ3aP0hDv////9kdgAI0AxoAWR2AAgAAAAAJQAAAAwAAAAHAAAAVAAAAHgAAAD/AAAA uAAAACcBAADDAAAAAQAAAAAA4UEAkOLBWQEAADH///8HAAAATAAAAAAAAAAAAAAAAAAAAP// ////////XAAAAEEAZABhAHAAdABlAGUAAAAHAAAABgAAAAYAAAAGAAAAAwAAAAYAAAAGAAAA JQAAAAwAAAABAAAAGwAAABAAAAAoAQAAH////zYAAAAQAAAAsQEAAB////8YAAAADAAAAAAA gAAYAAAADAAAAAAAAAAYAAAADAAAAABAQABUAAAAWAAAANMAAADSAAAA3AAAAN4AAAABAAAA AADhQQCQ4sEtAQAAF////wIAAABMAAAAAAAAAAAAAAAAAAAA//////////9QAAAAKwAgAAYA AAADAAAAVAAAANwAAADkAAAA0gAAAFMBAADeAAAAAQAAAAAA4UEAkOLBPgEAABf///8YAAAA TAAAAAAAAAAAAAAAAAAAAP//////////fAAAAFMAcABlAGMAaQBmAGkAYwBSAGUAcQB1AGUA cwB0ACgAKQAgADoAIAB2AG8AaQBkAAcAAAAGAAAABgAAAAUAAAADAAAAAwAAAAMAAAAFAAAA BwAAAAYAAAAGAAAABgAAAAYAAAAEAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAABQAAAAYA AAADAAAABgAAABgAAAAMAAAAAAAAACcAAAAYAAAABgAAAAAAAADAv8AAAAAAACUAAAAMAAAA BgAAACYAAAAcAAAACAAAAAAAAAABAAAAAAAAAMC/wAAlAAAADAAAAAgAAAArAAAAGAAAAGcA AAA4////ygAAAPP+//8lAAAADAAAAAIAAAAoAAAADAAAAAYAAAAlAAAADAAAAAMAAAAoAAAA DAAAAAgAAAArAAAAGAAAAGQAAAA7////xwAAAPb+//8lAAAADAAAAAcAAABUAAAAeAAAACkA AAC3AAAATwAAAMIAAAABAAAAAADhQQCQ4sGDAAAAMv///wcAAABMAAAAAAAAAAAAAAAAAAAA //////////9cAAAAQQBkAGEAcAB0AGUAcgAAAAcAAAAGAAAABgAAAAYAAAADAAAABgAAAAQA AAAlAAAADAAAAAEAAAAbAAAAEAAAAGQAAAAg////NgAAABAAAADHAAAAIP///xgAAAAMAAAA AACAABgAAAAMAAAAAAAAABgAAAAMAAAAAEBAAFQAAABYAAAADwAAANEAAAAYAAAA3QAAAAEA AAAAAOFBAJDiwWkAAAAY////AgAAAEwAAAAAAAAAAAAAAAAAAAD//////////1AAAAArACAA BgAAAAMAAABUAAAArAAAACAAAADRAAAAaQAAAN0AAAABAAAAAADhQQCQ4sF6AAAAGP///xAA AABMAAAAAAAAAAAAAAAAAAAA//////////9sAAAAUgBlAHEAdQBlAHMAdAAoACkAIAA6ACAA dgBvAGkAZAAHAAAABgAAAAYAAAAGAAAABgAAAAQAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMA AAAFAAAABgAAAAMAAAAGAAAAGAAAAAwAAAAAAAAAJgAAABwAAAAIAAAAAAAAAAEAAAAAAAAA AAAAACUAAAAMAAAACAAAABsAAAAQAAAAlgAAADv///82AAAAEAAAAJYAAACZ////GwAAABAA AACWAAAAmf///1YAAAAoAAAANwAAAFAAAABCAAAAXwAAAAMAAACcAIr/kQCK/5YAmf8SAAAA DAAAAAIAAAAZAAAADAAAAP///wASAAAADAAAAAEAAAAZAAAADAAAAP///wAlAAAADAAAAAMA AAAoAAAADAAAAAgAAAAmAAAAHAAAAAgAAAAAAAAAAQAAAAAAAAAAAAAAJQAAAAwAAAAIAAAA GwAAABAAAADIAAAAGP///zYAAAAQAAAAKAEAABj///8bAAAAEAAAACgBAAAY////GwAAABAA AAAoAQAAGP///zYAAAAQAAAAGgEAABP///8bAAAAEAAAACgBAAAY////NgAAABAAAAAaAQAA Hv///xIAAAAMAAAAAgAAABkAAAAMAAAA////AFIAAABwAQAABgAAAPb///8AAAAAAAAAAAAA AAAAAAAAAAAAAQAAAABBAFIASQBBAEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAAAAAAAAAhOcSAKznEgC3LJF88C8iAJju 7gCM5xIAAAAAAI6ggHwAAEAAmO7uAIznEgCloIB8+OcSANKPAAAAAAAAEAAAAAUAAAD85xIA /wAAAMDnEgClAtV3POgSAP8AAADY5xIAbHMOAQoAAAD1Gd1zAADqc0AAAAAAAAAAUOkSAAAA AABo5epzvOcSAFjpEgAX7+Zz/////7joEgCeJt1zBQAAAFDpEgBQ6RIABQAAAAAAEgA/Qt1z AAAhDjzoEgAFAAAAPOgSAFDpEgAXQt1zBQAAADzoEgAFAAAAAAEAAA5K3XM86BIAAAAAAFxK 3XNkdgAIAAAAAGR2AAgAAAAAJQAAAAwAAAAGAAAAVAAAAHwAAAChAAAAvwAAAMsAAADLAAAA AQAAAAAA4UEAkOLB+wAAACr///8IAAAATAAAAAAAAAAAAAAAAAAAAP//////////XAAAAC0A YQBkAGEAcAB0AGUAZQADAAAABgAAAAYAAAAGAAAABgAAAAMAAAAGAAAABgAAACUAAAAMAAAA AQAAACgAAAAMAAAABgAAABIAAAAMAAAAAQAAABkAAAAMAAAA////ACUAAAAMAAAAAwAAACgA AAAMAAAACAAAACUAAAAMAAAADQAAgCgAAAAMAAAAAQAAACgAAAAMAAAABwAAACUAAAAMAAAA AAAAgCgAAAAMAAAAAgAAACUAAAAMAAAABwAAgCgAAAAMAAAAAwAAAA4AAAAUAAAAAAAAABAA AAAUAAAA</UMLPattern.PreviewImage>
          </UMLPattern>
        </XMI.extensions>
      </XMI>
    </UMLPattern>
    <UMLPattern>
      <XMI xmi.version="1.1" xmlns:UML="omg.org/UML1.3" timestamp="2005-02-11 15:20:13">
        <XMI.header>
          <XMI.documentation>
            <XMI.exporter>Enterprise Architect</XMI.exporter>
            <XMI.exporterVersion>2.5</XMI.exporterVersion>
          </XMI.documentation>
        </XMI.header>
        <XMI.content>
          <UML:Model name="EA Model" xmi.id="MX_EAID_53931D37_3C9B_4dcb_95B0_746CF85FAF4C">
            <UML:Namespace.ownedElement>
              <UML:Class name="Abstraction" xmi.id="EAID_D8B8CA90_EDB5_44e2_95D4_1D75AEF5D1AA" visibility="public" namespace="EAPK_53931D37_3C9B_4dcb_95B0_746CF85FAF4C" isRoot="false" isLeaf="false" isAbstract="true" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class (a) defines the abstraction's interface, and (b) maintains a reference to an object of type Implementor."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_53931D37_3C9B_4dcb_95B0_746CF85FAF4C"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-06 22:07:36"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-11 14:58:20"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Bridge"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="Operation" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="behaviour" value="implementor.OperationImp();"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{0FF05567-29FB-4fe7-8C2E-8886566270EA}"/>
                      <UML:TaggedValue tag="styleex" value="ShowBeh=0;"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-29FB-4fe7-8C2E-8886566270EA}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
              <UML:Association xmi.id="EAID_50057E22_A176_43b3_88E3_660103FEA9A4" visibility="public" isRoot="false" isLeaf="false" isAbstract="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="1"/>
                  <UML:TaggedValue tag="ea_type" value="Association"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="1"/>
                  <UML:TaggedValue tag="linecolor" value="0"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="privatedata5" value="EX=0;EY=0;SX=0;SY=0;EDGE=2;"/>
                  <UML:TaggedValue tag="virtualInheritance" value="0"/>
                  <UML:TaggedValue tag="lt" value="-imp"/>
                </UML:ModelElement.taggedValue>
                <UML:Association.connection>
                  <UML:AssociationEnd visibility="private" aggregation="shared" isOrdered="false" isNavigable="false" type="EAID_D8B8CA90_EDB5_44e2_95D4_1D75AEF5D1AA">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="containment" value="Unspecified"/>
                    </UML:ModelElement.taggedValue>
                  </UML:AssociationEnd>
                  <UML:AssociationEnd visibility="protected" name="implementor" aggregation="none" isOrdered="false" isNavigable="true" type="EAID_D1519ED2_B083_4195_B8C9_4F363448F974">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="containment" value="Unspecified"/>
                    </UML:ModelElement.taggedValue>
                  </UML:AssociationEnd>
                </UML:Association.connection>
              </UML:Association>
              <UML:Generalization subtype="EAID_23295A28_73A4_476b_BBCC_AE52A8815DE2" supertype="EAID_D8B8CA90_EDB5_44e2_95D4_1D75AEF5D1AA" xmi.id="EAID_854263DB_1E9B_4ad7_A4D6_8996CEE9ED7F" visibility="public">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="1"/>
                  <UML:TaggedValue tag="ea_type" value="Generalization"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="1"/>
                  <UML:TaggedValue tag="linecolor" value="0"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="src_visibility" value="Public"/>
                  <UML:TaggedValue tag="src_aggregation" value="0"/>
                  <UML:TaggedValue tag="src_isOrdered" value="false"/>
                  <UML:TaggedValue tag="src_isNavigable" value="false"/>
                  <UML:TaggedValue tag="dst_visibility" value="Public"/>
                  <UML:TaggedValue tag="dst_aggregation" value="0"/>
                  <UML:TaggedValue tag="dst_isOrdered" value="false"/>
                  <UML:TaggedValue tag="dst_isNavigable" value="false"/>
                  <UML:TaggedValue tag="$ea_xref_property" value="$XREFPROP=$XID={3B3AC4D9-D498-48e8-83AA-1C10A05145C6}$XID;$NAM=CustomProperties$NAM;$TYP=connector property$TYP;$VIS=Public$VIS;$DES=@PROP=@NAME=isSubstitutable@ENDNAME;@TYPE=boolean@ENDTYPE;@VALU=@ENDVALU;@PRMT=@ENDPRMT;@ENDPROP;$DES;$CLT={854263DB-1E9B-4ad7-A4D6-8996CEE9ED7F}$CLT;$SUP=&lt;none&gt;$SUP;$ENDXREF;"/>
                  <UML:TaggedValue tag="privatedata5" value="EDGE=1;"/>
                </UML:ModelElement.taggedValue>
              </UML:Generalization>
              <UML:Class name="Implementor" xmi.id="EAID_D1519ED2_B083_4195_B8C9_4F363448F974" visibility="public" namespace="EAPK_53931D37_3C9B_4dcb_95B0_746CF85FAF4C" isRoot="false" isLeaf="false" isAbstract="true" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class defines the interface for implementation classes."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_53931D37_3C9B_4dcb_95B0_746CF85FAF4C"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-06 22:08:22"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-08 16:05:21"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Bridge"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="OperationImp" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="isAbstract" value="1"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{30902F50-DB86-44b9-AA35-104EA35D0058}"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-DB86-44b9-AA35-104EA35D0058}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
              <UML:Generalization subtype="EAID_B93FC85B_7381_4799_851B_B746E3C93A1B" supertype="EAID_D1519ED2_B083_4195_B8C9_4F363448F974" xmi.id="EAID_2BC48D84_9CD5_46d7_95F5_F93AB9986719" visibility="public">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="3"/>
                  <UML:TaggedValue tag="ea_type" value="Generalization"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="3"/>
                  <UML:TaggedValue tag="linecolor" value="0"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="subtype" value="Tree"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="src_visibility" value="Public"/>
                  <UML:TaggedValue tag="src_aggregation" value="0"/>
                  <UML:TaggedValue tag="src_isOrdered" value="false"/>
                  <UML:TaggedValue tag="src_isNavigable" value="false"/>
                  <UML:TaggedValue tag="dst_visibility" value="Public"/>
                  <UML:TaggedValue tag="dst_aggregation" value="0"/>
                  <UML:TaggedValue tag="dst_isOrdered" value="false"/>
                  <UML:TaggedValue tag="dst_isNavigable" value="false"/>
                  <UML:TaggedValue tag="$ea_xref_property" value="$XREFPROP=$XID={F1C109B2-E0CA-4091-9663-D984D83B654D}$XID;$NAM=CustomProperties$NAM;$TYP=connector property$TYP;$VIS=Public$VIS;$DES=@PROP=@NAME=isSubstitutable@ENDNAME;@TYPE=boolean@ENDTYPE;@VALU=@ENDVALU;@PRMT=@ENDPRMT;@ENDPROP;$DES;$CLT={2BC48D84-9CD5-46d7-95F5-F93AB9986719}$CLT;$SUP=&lt;none&gt;$SUP;$ENDXREF;"/>
                  <UML:TaggedValue tag="privatedata5" value="SX=0;SY=0;EDGE=1;"/>
                </UML:ModelElement.taggedValue>
              </UML:Generalization>
              <UML:Generalization subtype="EAID_1661C91A_76E5_4a09_A87B_1DD6E6EA3F71" supertype="EAID_D1519ED2_B083_4195_B8C9_4F363448F974" xmi.id="EAID_C5DCDED9_04FD_4e0e_BCB0_ED0EFD27DA03" visibility="public">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="3"/>
                  <UML:TaggedValue tag="ea_type" value="Generalization"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="3"/>
                  <UML:TaggedValue tag="linecolor" value="0"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="subtype" value="Tree"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="src_visibility" value="Public"/>
                  <UML:TaggedValue tag="src_aggregation" value="0"/>
                  <UML:TaggedValue tag="src_isOrdered" value="false"/>
                  <UML:TaggedValue tag="src_isNavigable" value="false"/>
                  <UML:TaggedValue tag="dst_visibility" value="Public"/>
                  <UML:TaggedValue tag="dst_aggregation" value="0"/>
                  <UML:TaggedValue tag="dst_isOrdered" value="false"/>
                  <UML:TaggedValue tag="dst_isNavigable" value="false"/>
                  <UML:TaggedValue tag="$ea_xref_property" value="$XREFPROP=$XID={EE0E8A87-3964-4ee7-957A-00EDB276066C}$XID;$NAM=CustomProperties$NAM;$TYP=connector property$TYP;$VIS=Public$VIS;$DES=@PROP=@NAME=isSubstitutable@ENDNAME;@TYPE=boolean@ENDTYPE;@VALU=@ENDVALU;@PRMT=@ENDPRMT;@ENDPROP;$DES;$CLT={C5DCDED9-04FD-4e0e-BCB0-ED0EFD27DA03}$CLT;$SUP=&lt;none&gt;$SUP;$ENDXREF;"/>
                  <UML:TaggedValue tag="privatedata5" value="SX=0;SY=0;EDGE=1;"/>
                </UML:ModelElement.taggedValue>
              </UML:Generalization>
              <UML:Class name="RefinedAbstraction" xmi.id="EAID_23295A28_73A4_476b_BBCC_AE52A8815DE2" visibility="public" namespace="EAPK_53931D37_3C9B_4dcb_95B0_746CF85FAF4C" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class extends the interface defined by Abstraction."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_53931D37_3C9B_4dcb_95B0_746CF85FAF4C"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-06 22:09:08"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-08 16:05:21"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Bridge"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
              </UML:Class>
              <UML:Class name="ConcreteImplementorA" xmi.id="EAID_B93FC85B_7381_4799_851B_B746E3C93A1B" visibility="public" namespace="EAPK_53931D37_3C9B_4dcb_95B0_746CF85FAF4C" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class implements the Implementor interface and defines its concrete implementation."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_53931D37_3C9B_4dcb_95B0_746CF85FAF4C"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-06 22:09:52"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-08 16:05:21"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Bridge"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="OperationImp" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{39C34C18-8A98-4ce3-8CF7-54E648409B58}"/>
                      <UML:TaggedValue tag="override" value="true" xmi.id="EAID_60939EE8_5046_4838_93CF_817F0460E0EE"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-8A98-4ce3-8CF7-54E648409B58}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
              <UML:Class name="ConcreteImplementorB" xmi.id="EAID_1661C91A_76E5_4a09_A87B_1DD6E6EA3F71" visibility="public" namespace="EAPK_53931D37_3C9B_4dcb_95B0_746CF85FAF4C" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class implements the Implementor interface and defines its concrete implementation."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_53931D37_3C9B_4dcb_95B0_746CF85FAF4C"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-06 22:10:07"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-08 16:05:21"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Bridge"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="OperationImp" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{0EEC82A3-F7C2-4f4d-9673-A2C895EA6C9B}"/>
                      <UML:TaggedValue tag="override" value="true" xmi.id="EAID_4D1C80BA_32C4_44ef_9C7F_217CAF581004"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-F7C2-4f4d-9673-A2C895EA6C9B}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
            </UML:Namespace.ownedElement>
          </UML:Model>
          <UML:Diagram name="Bridge" xmi.id="EAID_2EAE4FCF_89EA_4856_9451_2376FF47E4AF" diagramType="ClassDiagram" owner="EAPK_2EAE4FCF_89EA_4856_9451_2376FF47E4AF" toolName="Enterprise Architect 2.5">
            <UML:ModelElement.taggedValue>
              <UML:TaggedValue tag="documentation" value="This pattern decouples an abstraction from its implementation so that the two can vary independently."/>
              <UML:TaggedValue tag="version" value="1.0"/>
              <UML:TaggedValue tag="created_date" value="2004-12-14 13:31:50"/>
              <UML:TaggedValue tag="modified_date" value="2005-02-11 14:58:20"/>
              <UML:TaggedValue tag="package" value="EAPK_53931D37_3C9B_4dcb_95B0_746CF85FAF4C"/>
              <UML:TaggedValue tag="type" value="Logical"/>
              <UML:TaggedValue tag="swimlanes" value="locked=false;orientation=0;width=0;inbar=false;names=false;color=0;bold=false;fcol=0;;cls=0;"/>
              <UML:TaggedValue tag="EAStyle" value="ShowPrivate=1;ShowProtected=1;ShowPublic=1;HideRelationships=0;Locked=0;Border=1;HighlightForeign=1;PackageContents=1;SequenceNotes=0;ScalePrintImage=0;PPgs.cx=0;PPgs.cy=0;DocSize.cx=780;DocSize.cy=1138;ShowDetails=0;Orientation=P;Zoom=100;ShowTags=0;OpParams=1;ShowIcons=1;CollabNums=0;HideProps=0;ShowReqs=0;ShowCons=0;PaperSize=9;HideParents=0;UseAlias=0;HideAtts=0;HideOps=0;HideStereo=0;HideElemStereo=0;ShowTests=0;ShowMaint=0;"/>
              <UML:TaggedValue tag="styleex" value="ExcludeRTF=0;DocAll=0;HideQuals=0;AttPkg=1;ShowTests=0;ShowMaint=0;SuppressFOC=0;TDurLow=0;TDurHigh=100;TDurUnit=;TDurHide=0;"/>
            </UML:ModelElement.taggedValue>
            <UML:Diagram.element>
              <UML:DiagramElement geometry="Left=403;Top=261;Right=530;Bottom=331;imgL=345;imgT=180;imgR=472;imgB=250;" subject="EAID_1661C91A_76E5_4a09_A87B_1DD6E6EA3F71" seqno="1" style="DUID=92E5B480;LBL=;"/>
              <UML:DiagramElement geometry="Left=248;Top=261;Right=375;Bottom=331;imgL=190;imgT=180;imgR=317;imgB=250;" subject="EAID_B93FC85B_7381_4799_851B_B746E3C93A1B" seqno="2" style="DUID=EFFA0797;LBL=;"/>
              <UML:DiagramElement geometry="Left=68;Top=243;Right=224;Bottom=331;imgL=10;imgT=162;imgR=166;imgB=250;" subject="EAID_23295A28_73A4_476b_BBCC_AE52A8815DE2" seqno="3" style="DUID=E2BB7E1D;OpInh=1;LBL=;"/>
              <UML:DiagramElement geometry="Left=324;Top=92;Right=448;Bottom=162;imgL=266;imgT=11;imgR=390;imgB=81;" subject="EAID_D1519ED2_B083_4195_B8C9_4F363448F974" seqno="4" style="DUID=A30FDEB7;LBL=;"/>
              <UML:DiagramElement geometry="Left=93;Top=91;Right=202;Bottom=161;imgL=35;imgT=10;imgR=144;imgB=80;" subject="EAID_D8B8CA90_EDB5_44e2_95D4_1D75AEF5D1AA" seqno="5" style="DUID=DCF2F881;LBL=;"/>
              <UML:DiagramElement geometry="EX=0;EY=0;SX=0;SY=0;EDGE=2;$LLB=;LLT=;LMT=;LMB=;LRT=CX=76:CY=15:OX=0:OY=0:HDN=0:BLD=0:ITA=0:UND=0:CLR=-1:ALN=0:DIR=0:ROT=0;LRB=;Path=;" subject="EAID_50057E22_A176_43b3_88E3_660103FEA9A4" style="Mode=1;EOID=A30FDEB7;SOID=DCF2F881;Hidden=0;"/>
              <UML:DiagramElement geometry="EDGE=1;$LLB=;LLT=;LMT=;LMB=;LRT=;LRB=;Path=;" subject="EAID_854263DB_1E9B_4ad7_A4D6_8996CEE9ED7F" style="Mode=1;EOID=DCF2F881;SOID=E2BB7E1D;Hidden=0;"/>
              <UML:DiagramElement geometry="SX=0;SY=0;EDGE=1;$LLB=;LLT=;LMT=;LMB=;LRT=;LRB=;Path=311:-212$386:-212$;" subject="EAID_2BC48D84_9CD5_46d7_95F5_F93AB9986719" style="Mode=3;EOID=A30FDEB7;SOID=EFFA0797;Hidden=0;"/>
              <UML:DiagramElement geometry="SX=0;SY=0;EDGE=1;$LLB=;LLT=;LMT=;LMB=;LRT=;LRB=;Path=466:-212$386:-212$;" subject="EAID_C5DCDED9_04FD_4e0e_BCB0_ED0EFD27DA03" style="Mode=3;EOID=A30FDEB7;SOID=92E5B480;Hidden=0;"/>
            </UML:Diagram.element>
          </UML:Diagram>
        </XMI.content>
        <XMI.difference/>
        <XMI.extensions xmi.extender="Enterprise Architect 2.5">
          <EAStub xmi.id="EAID_D8B8CA90_EDB5_44e2_95D4_1D75AEF5D1AA" name="Abstraction" UMLType="Class"/>
          <EAStub xmi.id="EAID_D1519ED2_B083_4195_B8C9_4F363448F974" name="Implementor" UMLType="Class"/>
          <EAStub xmi.id="EAID_23295A28_73A4_476b_BBCC_AE52A8815DE2" name="RefinedAbstraction" UMLType="Class"/>
          <EAStub xmi.id="EAID_B93FC85B_7381_4799_851B_B746E3C93A1B" name="ConcreteImplementorA" UMLType="Class"/>
          <EAStub xmi.id="EAID_1661C91A_76E5_4a09_A87B_1DD6E6EA3F71" name="ConcreteImplementorB" UMLType="Class"/>
          <UMLPattern name="Bridge" category="GoF Structural Patterns" version="1.0" notes="This pattern decouples an abstraction from its implementation so that the two can vary independently.">
            <UMLPattern.PromptList>
              <Element name="ConcreteImplementorB:Class" guid="EAID_1661C91A_76E5_4a09_A87B_1DD6E6EA3F71" id="856" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class implements the Implementor interface and defines its concrete implementation.">
                  <![CDATA[This class implements the Implementor interface and defines its concrete implementation.]]>
                </Comment>
              </Element>
              <Element name="ConcreteImplementorA:Class" guid="EAID_B93FC85B_7381_4799_851B_B746E3C93A1B" id="855" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class implements the Implementor interface and defines its concrete implementation.">
                  <![CDATA[This class implements the Implementor interface and defines its concrete implementation.]]>
                </Comment>
              </Element>
              <Element name="RefinedAbstraction:Class" guid="EAID_23295A28_73A4_476b_BBCC_AE52A8815DE2" id="854" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class extends the interface defined by Abstraction.">
                  <![CDATA[This class extends the interface defined by Abstraction.]]>
                </Comment>
              </Element>
              <Element name="Implementor:Class" guid="EAID_D1519ED2_B083_4195_B8C9_4F363448F974" id="853" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class defines the interface for implementation classes.">
                  <![CDATA[This class defines the interface for implementation classes.]]>
                </Comment>
              </Element>
              <Element name="Abstraction:Class" guid="EAID_D8B8CA90_EDB5_44e2_95D4_1D75AEF5D1AA" id="852" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class (a) defines the abstraction's interface, and (b) maintains a reference to an object of type Implementor.">
                  <![CDATA[This class (a) defines the abstraction's interface, and (b) maintains a reference to an object of type Implementor.]]>
                </Comment>
              </Element>
            </UMLPattern.PromptList>
            <UMLPattern.PreviewImage xmlns:dt="urn:schemas-microsoft-com:datatypes" dt:dt="bin.base64" cx="13556" cy="7363">AQAAAGwAAAAKAAAACgAAANoBAAD8AAAAAAAAAAAAAAD0NAAAwxwAACBFTUYAAAEAXB0AANwA AAAJAAAAAAAAAAAAAAAAAAAAAAUAAAAEAABoAQAAIgEAAAAAAAAAAAAAAAAAAEB+BQDQbAQA EQAAAAwAAAAIAAAACQAAABAAAAABAAAA/////woAAAAQAAAAOgAAAK////9SAAAAcAEAAAEA AAD2////AAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAQQBSAEkAQQBMAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkXwAAEAAHOcSAAAA AAAAAAAAhOcSAKznEgC3LJF88C8iAJju7gCM5xIAAAAAAI6ggHwAAEAAmO7uAIznEgCloIB8 +OcSANKPAAAAAAAAEAAAAAUAAAD85xIA/wAAAMDnEgClAtV3POgSAP8AAADY5xIAbHMOAQoA AAD1Gd1zAADqc0AAAAAFAAAAUOkSAAAAAABo5epzvOcSAFjpEgAX7+Zz/////7joEgCeJt1z BQAAAFDpEgBQ6RIABQAAAAAAEgA/Qt1zMJchDjzoEgAFAAAAPOgSAFDpEgAXQt1zBQAAADzo EgAFAAAAAAEAAA5K3XM86BIAAAAAAFxK3XNkdgAIAAAAACUAAAAMAAAAAQAAACcAAAAYAAAA AgAAAAAAAAD88uMAAAAAACUAAAAMAAAAAgAAACYAAAAcAAAAAwAAAAAAAAABAAAAAAAAAAAA AAAlAAAADAAAAAMAAAASAAAADAAAAAEAAAAhAAAACAAAABgAAAAMAAAAAAAAACYAAAAcAAAA BAAAAAAAAAABAAAAAAAAAAAAAAAlAAAADAAAAAQAAAASAAAADAAAAAIAAAAZAAAADAAAAP// /wASAAAADAAAAAEAAAAZAAAADAAAAP///wASAAAADAAAAAIAAAAZAAAADAAAAP///wASAAAA DAAAAAEAAAAZAAAADAAAAP///wASAAAADAAAAAIAAAAZAAAADAAAAP///wASAAAADAAAAAEA AAAZAAAADAAAAP///wASAAAADAAAAAIAAAAZAAAADAAAAP///wASAAAADAAAAAEAAAAZAAAA DAAAAP///wAlAAAADAAAAAMAAAAiAAAADAAAAP////8oAAAADAAAAAQAAAAnAAAAGAAAAAQA AAAAAAAAwL/AAAAAAAAlAAAADAAAAAQAAAAmAAAAHAAAAAUAAAAAAAAAAQAAAAAAAADAv8AA JQAAAAwAAAAFAAAAOQAAAAwAAAACAAAAKwAAABgAAABgAAAAov///8wAAABd////JQAAAAwA AAACAAAAKAAAAAwAAAAEAAAAJQAAAAwAAAADAAAAKAAAAAwAAAAFAAAAKwAAABgAAABdAAAA pf///8kAAABg////UgAAAHABAAAFAAAA9v///wAAAAAAAAAAAAAAALwCAAABAAABAAAAAEEA UgBJAEEATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAABIAAAAAAAAAAACE5xIArOcSALcskXzwLyIAmO7uAIznEgAAAAAAjqCAfAAA QACY7u4AjOcSAKWggHz45xIA0o8AAAAAAAAQAAAABQAAAPznEgD/AAAAwOcSAKUC1Xc86BIA /wAAANjnEgBscw4BCgAAAPUZ3XMAAOpzQAAAAAAAAABQ6RIAAAAAAGjl6nO85xIAWOkSABfv 5nP/////uOgSAJ4m3XMFAAAAUOkSAFDpEgAFAAAAAAASAD9C3XMAAMJ3CAAAAP////886BIA EAAAAC6lw3egGsZ3mOkSAEPDwncEAAAAzsPCdwfEwndwNyEO/////6AaxnfgamgBZHYACAAA AAAlAAAADAAAAAUAAABUAAAAkAAAAD0AAAATAAAAdQAAAB0AAAABAAAAAADhQQCQ4sF3AAAA nP///wsAAABMAAAAAAAAAAAAAAAAAAAA//////////9kAAAAQQBiAHMAdAByAGEAYwB0AGkA bwBuAAAABwAAAAYAAAAGAAAAAwAAAAQAAAAGAAAABgAAAAMAAAADAAAABgAAAAYAAAAlAAAA DAAAAAEAAAAbAAAAEAAAAF0AAACK////NgAAABAAAADJAAAAiv///xgAAAAMAAAAAACAABgA AAAMAAAAAAAAABgAAAAMAAAAAEBAAFQAAABYAAAAKAAAAC0AAAAxAAAAOQAAAAEAAAAAAOFB AJDiwWIAAACC////AgAAAEwAAAAAAAAAAAAAAAAAAAD//////////1AAAAArACAABgAAAAMA AABUAAAAuAAAADkAAAAtAAAAiwAAADkAAAABAAAAAADhQQCQ4sFzAAAAgv///xIAAABMAAAA AAAAAAAAAAAAAAAA//////////9wAAAATwBwAGUAcgBhAHQAaQBvAG4AKAApACAAOgAgAHYA bwBpAGQACAAAAAYAAAAGAAAAAwAAAAYAAAADAAAAAwAAAAYAAAAGAAAAAwAAAAMAAAADAAAA AwAAAAMAAAAFAAAABgAAAAMAAAAGAAAAGAAAAAwAAAAAAAAAJwAAABgAAAAEAAAAAAAAAMC/ wAAAAAAAJQAAAAwAAAAEAAAAJgAAABwAAAAGAAAAAAAAAAEAAAAAAAAAwL/AACUAAAAMAAAA BgAAACsAAAAYAAAARwEAAKH////CAQAAXP///yUAAAAMAAAAAgAAACgAAAAMAAAABAAAACUA AAAMAAAAAwAAACgAAAAMAAAABgAAACsAAAAYAAAARAEAAKT///+/AQAAX////yUAAAAMAAAA BQAAAFQAAACQAAAAKQEAABQAAABmAQAAHgAAAAEAAAAAAOFBAJDiwWMBAACb////CwAAAEwA AAAAAAAAAAAAAAAAAAD//////////2QAAABJAG0AcABsAGUAbQBlAG4AdABvAHIAAAADAAAA CQAAAAYAAAADAAAABgAAAAkAAAAGAAAABgAAAAMAAAAGAAAABAAAACUAAAAMAAAAAQAAABsA AAAQAAAARAEAAIn///82AAAAEAAAAL8BAACJ////GAAAAAwAAAAAAIAAGAAAAAwAAAAAAAAA GAAAAAwAAAAAQEAAVAAAAFgAAAAPAQAALgAAABgBAAA6AAAAAQAAAAAA4UEAkOLBSQEAAIH/ //8CAAAATAAAAAAAAAAAAAAAAAAAAP//////////UAAAACsAIAAGAAAAAwAAAFIAAABwAQAA BgAAAPb///8AAAAAAAAAAAAAAAAAAAAAAQAAAQAAAABBAFIASQBBAEwAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAAAAAAAAA hOcSAKznEgC3LJF88C8iAJju7gCM5xIAAAAAAI6ggHwAAEAAmO7uAIznEgCloIB8+OcSANKP AAAAAAAAEAAAAAUAAAD85xIA/wAAAMDnEgClAtV3POgSAP8AAADY5xIAbHMOAQoAAAD1Gd1z AADqc0AAAAAAAAAAUOkSAAAAAABo5epzvOcSAFjpEgAX7+Zz/////7joEgCeJt1zBQAAAFDp EgBQ6RIABQAAAAAAEgA/Qt1zAADCdwgAAAD/////POgSABAAAAAupcN3oBrGd5jpEgBDw8J3 BAAAAM7DwncHxMJ3cDchDv////+gGsZ38GpoAWR2AAgAAAAAJQAAAAwAAAAGAAAAVAAAAMwA AAAgAQAALgAAAIEBAAA6AAAAAQAAAAAA4UEAkOLBWgEAAIH///8VAAAATAAAAAAAAAAAAAAA AAAAAP//////////eAAAAE8AcABlAHIAYQB0AGkAbwBuAEkAbQBwACgAKQAgADoAIAB2AG8A aQBkAAAACAAAAAYAAAAGAAAAAwAAAAYAAAADAAAAAwAAAAYAAAAGAAAAAgAAAAcAAAAGAAAA AwAAAAMAAAADAAAAAwAAAAMAAAAFAAAABgAAAAMAAAAGAAAAJQAAAAwAAAABAAAAJQAAAAwA AAABAAAAGAAAAAwAAAAAAAAAJwAAABgAAAAEAAAAAAAAAMC/wAAAAAAAJQAAAAwAAAAEAAAA JgAAABwAAAAHAAAAAAAAAAEAAAAAAAAAwL/AACUAAAAMAAAABwAAACsAAAAYAAAARwAAAAr/ ///iAAAAs/7//yUAAAAMAAAAAgAAACgAAAAMAAAABAAAACUAAAAMAAAAAwAAACgAAAAMAAAA BwAAACsAAAAYAAAARAAAAA3////fAAAAtv7//1IAAABwAQAABwAAAPb///8AAAAAAAAAAAAA AAC8AgAAAAAAAQAAAABBAFIASQBBAEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAAAAAAAAAhOcSAKznEgC3LJF88C8iAJju 7gCM5xIAAAAAAI6ggHwAAEAAmO7uAIznEgCloIB8+OcSANKPAAAAAAAAEAAAAAUAAAD85xIA /wAAAMDnEgClAtV3POgSAP8AAADY5xIAbHMOAQoAAAD1Gd1zAADqc0AAAAAAAAAAUOkSAAAA AABo5epzvOcSAFjpEgAX7+Zz/////7joEgCeJt1zBQAAAFDpEgBQ6RIABQAAAAAAEgA/Qt1z AADCdwgAAAD/////POgSABAAAAAupcN3oBrGd5jpEgBDw8J3BAAAAM7DwncHxMJ3cDchDv// //9kdgAIMABoAWR2AAgAAAAAJQAAAAwAAAAHAAAAVAAAALgAAAApAAAAqwAAAIYAAAC2AAAA AQAAAAAA4UEAkOLBYwAAAAT///8SAAAATAAAAAAAAAAAAAAAAAAAAP//////////cAAAAFIA ZQBmAGkAbgBlAGQAQQBiAHMAdAByAGEAYwB0AGkAbwBuAAcAAAAGAAAAAwAAAAMAAAAGAAAA BgAAAAYAAAAHAAAABgAAAAYAAAADAAAABAAAAAYAAAAGAAAAAwAAAAMAAAAGAAAABgAAACUA AAAMAAAAAQAAABsAAAAQAAAARAAAAPL+//82AAAAEAAAAN8AAADy/v//GAAAAAwAAAAAAIAA GAAAAAwAAAAAAAAAGAAAAAwAAAAAQEAAJQAAAAwAAAAGAAAAGAAAAAwAAAAAAAAAVAAAAJwA AAAPAAAAxQAAAEoAAADRAAAAAQAAAAAA4UEAkOLBSQAAAOr+//8NAAAATAAAAAAAAAAAAAAA AAAAAP//////////aAAAADoAOgBBAGIAcwB0AHIAYQBjAHQAaQBvAG4AAAADAAAAAwAAAAcA AAAGAAAABQAAAAMAAAADAAAABgAAAAUAAAADAAAAAwAAAAYAAAAGAAAAJQAAAAwAAAABAAAA GAAAAAwAAAAAQEAAVAAAAFgAAAAPAAAA0gAAABgAAADeAAAAAQAAAAAA4UEAkOLBSQAAAN3+ //8CAAAATAAAAAAAAAAAAAAAAAAAAP//////////UAAAACsAIAAGAAAAAwAAAFQAAAC4AAAA IAAAANIAAAByAAAA3gAAAAEAAAAAAOFBAJDiwVoAAADd/v//EgAAAEwAAAAAAAAAAAAAAAAA AAD//////////3AAAABPAHAAZQByAGEAdABpAG8AbgAoACkAIAA6ACAAdgBvAGkAZAAIAAAA BgAAAAYAAAADAAAABgAAAAMAAAADAAAABgAAAAYAAAADAAAAAwAAAAMAAAADAAAAAwAAAAUA AAAGAAAAAwAAAAYAAAAYAAAADAAAAAAAAAAnAAAAGAAAAAQAAAAAAAAAwL/AAAAAAAAlAAAA DAAAAAQAAAAmAAAAHAAAAAgAAAAAAAAAAQAAAAAAAADAv8AAJQAAAAwAAAAIAAAAKwAAABgA AAD7AAAA+P7//3kBAACz/v//JQAAAAwAAAACAAAAKAAAAAwAAAAEAAAAJQAAAAwAAAADAAAA KAAAAAwAAAAIAAAAKwAAABgAAAD4AAAA+/7//3YBAAC2/v//JQAAAAwAAAAHAAAAVAAAAMQA AADFAAAAvQAAADUBAADIAAAAAQAAAAAA4UEAkOLB/wAAAPL+//8UAAAATAAAAAAAAAAAAAAA AAAAAP//////////dAAAAEMAbwBuAGMAcgBlAHQAZQBJAG0AcABsAGUAbQBlAG4AdABvAHIA QQAHAAAABgAAAAYAAAAGAAAABAAAAAYAAAADAAAABgAAAAMAAAAJAAAABgAAAAMAAAAGAAAA CQAAAAYAAAAGAAAAAwAAAAYAAAAEAAAABwAAACUAAAAMAAAAAQAAABsAAAAQAAAA+AAAAOD+ //82AAAAEAAAAHYBAADg/v//GAAAAAwAAAAAAIAAGAAAAAwAAAAAAAAAGAAAAAwAAAAAQEAA VAAAAFgAAADDAAAA1wAAAMwAAADjAAAAAQAAAAAA4UEAkOLB/QAAANj+//8CAAAATAAAAAAA AAAAAAAAAAAAAP//////////UAAAACsAIAAGAAAAAwAAAFQAAADMAAAA1AAAANcAAAA4AQAA 4wAAAAEAAAAAAOFBAJDiwQ4BAADY/v//FQAAAEwAAAAAAAAAAAAAAAAAAAD//////////3gA AABPAHAAZQByAGEAdABpAG8AbgBJAG0AcAAoACkAIAA6ACAAdgBvAGkAZAAAAAgAAAAGAAAA BgAAAAMAAAAGAAAAAwAAAAMAAAAGAAAABgAAAAMAAAAJAAAABgAAAAMAAAADAAAAAwAAAAMA AAADAAAABQAAAAYAAAADAAAABgAAABgAAAAMAAAAAAAAACcAAAAYAAAACAAAAAAAAADAv8AA AAAAACUAAAAMAAAACAAAACYAAAAcAAAABAAAAAAAAAABAAAAAAAAAMC/wAAlAAAADAAAAAQA AAArAAAAGAAAAJYBAAD4/v//FAIAALP+//8lAAAADAAAAAIAAAAoAAAADAAAAAgAAAAlAAAA DAAAAAMAAAAoAAAADAAAAAQAAAArAAAAGAAAAJMBAAD7/v//EQIAALb+//8lAAAADAAAAAcA AABUAAAAxAAAAGABAAC9AAAA0AEAAMgAAAABAAAAAADhQQCQ4sGaAQAA8v7//xQAAABMAAAA AAAAAAAAAAAAAAAA//////////90AAAAQwBvAG4AYwByAGUAdABlAEkAbQBwAGwAZQBtAGUA bgB0AG8AcgBCAAcAAAAGAAAABgAAAAYAAAAEAAAABgAAAAMAAAAGAAAAAwAAAAkAAAAGAAAA AwAAAAYAAAAJAAAABgAAAAYAAAADAAAABgAAAAQAAAAHAAAAJQAAAAwAAAABAAAAGwAAABAA AACTAQAA4P7//zYAAAAQAAAAEQIAAOD+//8YAAAADAAAAAAAgAAYAAAADAAAAAAAAAAYAAAA DAAAAABAQABUAAAAWAAAAF4BAADXAAAAZwEAAOMAAAABAAAAAADhQQCQ4sGYAQAA2P7//wIA AABMAAAAAAAAAAAAAAAAAAAA//////////9QAAAAKwAgAAYAAAADAAAAVAAAAMwAAABvAQAA 1wAAANMBAADjAAAAAQAAAAAA4UEAkOLBqQEAANj+//8VAAAATAAAAAAAAAAAAAAAAAAAAP// ////////eAAAAE8AcABlAHIAYQB0AGkAbwBuAEkAbQBwACgAKQAgADoAIAB2AG8AaQBkAAAA CAAAAAYAAAAGAAAAAwAAAAYAAAADAAAAAwAAAAYAAAAGAAAAAwAAAAkAAAAGAAAAAwAAAAMA AAADAAAAAwAAAAMAAAAFAAAABgAAAAMAAAAGAAAAGAAAAAwAAAAAAAAAJgAAABwAAAAEAAAA AAAAAAEAAAAAAAAAAAAAACUAAAAMAAAABAAAABsAAAAQAAAAygAAAIL///82AAAAEAAAAEQB AACC////VgAAACwAAACQAAAAKQAAAKQAAAAxAAAABAAAANQAhv/KAIL/0wB+/94Agv8bAAAA EAAAAEQBAACC////GwAAABAAAABEAQAAgv///zYAAAAQAAAANgEAAH3///8bAAAAEAAAAEQB AACC////NgAAABAAAAA2AQAAiP///xIAAAAMAAAAAgAAABkAAAAMAAAA////AFIAAABwAQAA CAAAAPb///8AAAAAAAAAAAAAAAAAAAAAAAAAAQAAAABBAFIASQBBAEwAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAAAAAAAAA hOcSAKznEgC3LJF88C8iAJju7gCM5xIAAAAAAI6ggHwAAEAAmO7uAIznEgCloIB8+OcSANKP AAAAAAAAEAAAAAUAAAD85xIA/wAAAMDnEgClAtV3POgSAP8AAADY5xIAbHMOAQoAAAD1Gd1z AADqc0AAAAAAAAAAUOkSAAAAAABo5epzvOcSAFjpEgAX7+Zz/////7joEgCeJt1zBQAAAFDp EgBQ6RIABQAAAAAAEgA/Qt1zAAAhDjzoEgAFAAAAPOgSAFDpEgAXQt1zBQAAADzoEgAFAAAA AAEAAA5K3XM86BIAAAAAAFxK3XNkdgAIAAAAAGR2AAgAAAAAJQAAAAwAAAAIAAAAVAAAAJQA AADFAAAAGwAAAAcBAAAnAAAAAQAAAAAA4UEAkOLB/wAAAJT///8MAAAATAAAAAAAAAAAAAAA AAAAAP//////////ZAAAACMAaQBtAHAAbABlAG0AZQBuAHQAbwByAAYAAAADAAAACQAAAAYA AAADAAAABgAAAAkAAAAGAAAABgAAAAMAAAAGAAAAAwAAACUAAAAMAAAAAQAAACgAAAAMAAAA CAAAABIAAAAMAAAAAQAAABkAAAAMAAAA////ACUAAAAMAAAAAwAAACgAAAAMAAAABAAAACYA AAAcAAAABAAAAAAAAAABAAAAAAAAAAAAAAAlAAAADAAAAAQAAAAbAAAAEAAAAJIAAAAN//// NgAAABAAAACSAAAAX////xsAAAAQAAAAkgAAAF////9WAAAAKAAAAFMAAABQAAAAXgAAAF8A AAADAAAAmABQ/40AUP+SAF//EgAAAAwAAAACAAAAGQAAAAwAAAD///8AEgAAAAwAAAABAAAA GQAAAAwAAAD///8AJQAAAAwAAAADAAAAKAAAAAwAAAAEAAAAJgAAABwAAAAEAAAAAAAAAAEA AAAAAAAAAAAAACUAAAAMAAAABAAAABsAAAAQAAAANwEAAPv+//82AAAAEAAAADcBAAAs//// NgAAABAAAACCAQAALP///zYAAAAQAAAAggEAAF7///8bAAAAEAAAAIIBAABe////VgAAACgA AABDAQAAUQAAAE4BAABgAAAAAwAAAIgBT/99AU//ggFe/xIAAAAMAAAAAgAAABkAAAAMAAAA ////ABIAAAAMAAAAAQAAABkAAAAMAAAA////ACUAAAAMAAAAAwAAACgAAAAMAAAABAAAACYA AAAcAAAABAAAAAAAAAABAAAAAAAAAAAAAAAlAAAADAAAAAQAAAAbAAAAEAAAANIBAAD7/v// NgAAABAAAADSAQAALP///zYAAAAQAAAAggEAACz///82AAAAEAAAAIIBAABe////GwAAABAA AACCAQAAXv///1YAAAAoAAAAQwEAAFEAAABOAQAAYAAAAAMAAACIAU//fQFP/4IBXv8SAAAA DAAAAAIAAAAZAAAADAAAAP///wASAAAADAAAAAEAAAAZAAAADAAAAP///wAlAAAADAAAAAMA AAAoAAAADAAAAAQAAAAlAAAADAAAAA0AAIAoAAAADAAAAAEAAAAoAAAADAAAAAcAAAAlAAAA DAAAAAAAAIAoAAAADAAAAAIAAAAlAAAADAAAAAcAAIAoAAAADAAAAAMAAAAOAAAAFAAAAAAA AAAQAAAAFAAAAA==</UMLPattern.PreviewImage>
          </UMLPattern>
        </XMI.extensions>
      </XMI>
    </UMLPattern>
    <UMLPattern>
      <XMI xmi.version="1.1" xmlns:UML="omg.org/UML1.3" timestamp="2005-02-11 15:26:57">
        <XMI.header>
          <XMI.documentation>
            <XMI.exporter>Enterprise Architect</XMI.exporter>
            <XMI.exporterVersion>2.5</XMI.exporterVersion>
          </XMI.documentation>
        </XMI.header>
        <XMI.content>
          <UML:Model name="EA Model" xmi.id="MX_EAID_24AE5B32_F3A4_4c13_AE89_AEE7FB895684">
            <UML:Namespace.ownedElement>
              <UML:Class name="Director" xmi.id="EAID_686B315C_45B7_4f3b_B577_A3FC1B986EF0" visibility="public" namespace="EAPK_24AE5B32_F3A4_4c13_AE89_AEE7FB895684" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class constructs an object using the Builder interface."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_24AE5B32_F3A4_4c13_AE89_AEE7FB895684"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-06 16:46:10"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-09 11:31:31"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Builder"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="Construct" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="behaviour" value="builder.BuildPart();"/>
                      <UML:TaggedValue tag="code" value="&#xA;"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{263B9788-E7DC-48e2-8711-DCD590659BD4}"/>
                      <UML:TaggedValue tag="styleex" value="ShowBeh=1;"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-E7DC-48e2-8711-DCD590659BD4}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                      <UML:Parameter name="builder" kind="in" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="EAID_5D9D1657_7D91_448d_8D78_85389C2A6B92"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="Builder"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="classifier" value="EAID_5D9D1657_7D91_448d_8D78_85389C2A6B92"/>
                          <UML:TaggedValue tag="ea_guid" value="{4AF31EC2-88B6-42fb-A254-9391109637CE}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
              <UML:Dependency client="EAID_686B315C_45B7_4f3b_B577_A3FC1B986EF0" supplier="EAID_5D9D1657_7D91_448d_8D78_85389C2A6B92" xmi.id="EAID_26B91DAA_8D97_4306_B677_F6A051C881D8" visibility="public">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="3"/>
                  <UML:TaggedValue tag="ea_type" value="Dependency"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="3"/>
                  <UML:TaggedValue tag="linecolor" value="-1"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="src_visibility" value="Public"/>
                  <UML:TaggedValue tag="src_isOrdered" value="false"/>
                  <UML:TaggedValue tag="src_isNavigable" value="false"/>
                  <UML:TaggedValue tag="dst_visibility" value="Public"/>
                  <UML:TaggedValue tag="dst_isOrdered" value="false"/>
                  <UML:TaggedValue tag="dst_isNavigable" value="true"/>
                </UML:ModelElement.taggedValue>
              </UML:Dependency>
              <UML:Class name="Builder" xmi.id="EAID_5D9D1657_7D91_448d_8D78_85389C2A6B92" visibility="public" namespace="EAPK_24AE5B32_F3A4_4c13_AE89_AEE7FB895684" isRoot="false" isLeaf="false" isAbstract="true" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class specifies an abstract interface for creating parts of a Product object."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_24AE5B32_F3A4_4c13_AE89_AEE7FB895684"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-06 16:46:54"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-09 11:31:31"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Builder"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="BuildPart" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="isAbstract" value="1"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{B7A0DBFD-7636-416c-8DF2-A0AFD83E9405}"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-7636-416c-8DF2-A0AFD83E9405}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                  <UML:Operation name="GetResult" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="Product"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="isAbstract" value="1"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="1"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{FD36A428-4DBF-48a7-816C-E6031032E432}"/>
                      <UML:TaggedValue tag="styleex" value="ShowBeh=0;"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="EAID_63ED2036_427A_4335_A11B_463B41918301"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="Product"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="classifier" value="EAID_63ED2036_427A_4335_A11B_463B41918301"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-4DBF-48a7-816C-E6031032E432}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
              <UML:Generalization subtype="EAID_EAB9FF15_DF99_40eb_87A3_F0887BA11F1D" supertype="EAID_5D9D1657_7D91_448d_8D78_85389C2A6B92" xmi.id="EAID_CF70D9FB_659F_4b09_B9D0_AF2B8DC857DE" visibility="public">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="1"/>
                  <UML:TaggedValue tag="ea_type" value="Generalization"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="1"/>
                  <UML:TaggedValue tag="linecolor" value="0"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="src_visibility" value="Public"/>
                  <UML:TaggedValue tag="src_aggregation" value="0"/>
                  <UML:TaggedValue tag="src_isOrdered" value="false"/>
                  <UML:TaggedValue tag="src_isNavigable" value="false"/>
                  <UML:TaggedValue tag="dst_visibility" value="Public"/>
                  <UML:TaggedValue tag="dst_aggregation" value="0"/>
                  <UML:TaggedValue tag="dst_isOrdered" value="false"/>
                  <UML:TaggedValue tag="dst_isNavigable" value="false"/>
                  <UML:TaggedValue tag="$ea_xref_property" value="$XREFPROP=$XID={3B9D742D-9DCB-440a-8A69-08E12549B0E2}$XID;$NAM=CustomProperties$NAM;$TYP=connector property$TYP;$VIS=Public$VIS;$DES=@PROP=@NAME=isSubstitutable@ENDNAME;@TYPE=boolean@ENDTYPE;@VALU=@ENDVALU;@PRMT=@ENDPRMT;@ENDPROP;$DES;$CLT={CF70D9FB-659F-4b09-B9D0-AF2B8DC857DE}$CLT;$SUP=&lt;none&gt;$SUP;$ENDXREF;"/>
                  <UML:TaggedValue tag="privatedata5" value="EDGE=1;"/>
                </UML:ModelElement.taggedValue>
              </UML:Generalization>
              <UML:Class name="ConcreteBuilder" xmi.id="EAID_EAB9FF15_DF99_40eb_87A3_F0887BA11F1D" visibility="public" namespace="EAPK_24AE5B32_F3A4_4c13_AE89_AEE7FB895684" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class (a) constructs and assembles parts of the product by implementing the Builder interface, (b) defines and keeps track of the representation it creates, and (c) provides an interface for retrieving the product."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_24AE5B32_F3A4_4c13_AE89_AEE7FB895684"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-06 16:47:39"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-09 11:31:31"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Builder"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="BuildPart" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="behaviour" value="product = new Product();&#xA;product.Add( &quot;Part&quot; );"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{70604DA1-3624-4fb5-9F6D-08838A914967}"/>
                      <UML:TaggedValue tag="styleex" value="ShowBeh=0;"/>
                      <UML:TaggedValue tag="override" value="true" xmi.id="EAID_FE38471B_73A1_4452_86CE_736B8548A012"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-3624-4fb5-9F6D-08838A914967}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                  <UML:Operation name="GetResult" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="Product"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="behaviour" value="return product;"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="1"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{CD088C09-5E41-49d1-BEB0-27AC53D9A6FE}"/>
                      <UML:TaggedValue tag="styleex" value="ShowBeh=0;"/>
                      <UML:TaggedValue tag="override" value="true" xmi.id="EAID_4A28BD92_9467_4112_875D_961CAF3766FD"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="EAID_63ED2036_427A_4335_A11B_463B41918301"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="Product"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="classifier" value="EAID_63ED2036_427A_4335_A11B_463B41918301"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-5E41-49d1-BEB0-27AC53D9A6FE}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
              <UML:Association xmi.id="EAID_AC162181_6080_45bb_9D50_D4B7CFDC10B6" visibility="public" isRoot="false" isLeaf="false" isAbstract="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="3"/>
                  <UML:TaggedValue tag="ea_type" value="Association"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="3"/>
                  <UML:TaggedValue tag="linecolor" value="-1"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="virtualInheritance" value="0"/>
                </UML:ModelElement.taggedValue>
                <UML:Association.connection>
                  <UML:AssociationEnd visibility="public" aggregation="none" isOrdered="false" isNavigable="false" type="EAID_EAB9FF15_DF99_40eb_87A3_F0887BA11F1D">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="containment" value="Unspecified"/>
                    </UML:ModelElement.taggedValue>
                  </UML:AssociationEnd>
                  <UML:AssociationEnd visibility="private" name="product" aggregation="none" isOrdered="false" isNavigable="true" type="EAID_63ED2036_427A_4335_A11B_463B41918301">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="containment" value="Unspecified"/>
                    </UML:ModelElement.taggedValue>
                  </UML:AssociationEnd>
                </UML:Association.connection>
              </UML:Association>
              <UML:Class name="Product" xmi.id="EAID_63ED2036_427A_4335_A11B_463B41918301" visibility="public" namespace="EAPK_24AE5B32_F3A4_4c13_AE89_AEE7FB895684" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class (a) represents the complex object under construction. ConcreteBuilder builds the product's internal representation and defines the process by which it's assembled, and (b) includes classes that define the constituent parts, including interfaces for assembling the parts into the final result."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_24AE5B32_F3A4_4c13_AE89_AEE7FB895684"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-06 16:47:55"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-09 11:42:39"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Builder"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Attribute name="parts" changeable="none" visibility="private" ownerScope="instance" targetScope="instance">
                    <UML:Attribute.initialValue>
                      <UML:Expression/>
                    </UML:Attribute.initialValue>
                    <UML:StructuralFeature.type>
                      <UML:Classifier xmi.idref="eaxmiid1"/>
                    </UML:StructuralFeature.type>
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="Object"/>
                      <UML:TaggedValue tag="derived" value="0"/>
                      <UML:TaggedValue tag="containment" value="Not Specified"/>
                      <UML:TaggedValue tag="ordered" value="0"/>
                      <UML:TaggedValue tag="collection" value="false"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="lowerBound" value="0"/>
                      <UML:TaggedValue tag="upperBound" value="*"/>
                      <UML:TaggedValue tag="duplicates" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{CF533104-B83C-41d1-BE35-85A4FD80064B}"/>
                      <UML:TaggedValue tag="styleex" value="volatile=0;"/>
                    </UML:ModelElement.taggedValue>
                  </UML:Attribute>
                  <UML:Operation name="Add" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="behaviour" value="parts.addElement(part);"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{BAD86BCA-8284-4726-9BB5-9024587303D6}"/>
                      <UML:TaggedValue tag="styleex" value="ShowBeh=0;"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-8284-4726-9BB5-9024587303D6}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                      <UML:Parameter name="part" kind="in" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid1"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="Object"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{2D25BAD3-2128-4c7f-96C7-CDCEE7456729}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
            </UML:Namespace.ownedElement>
          </UML:Model>
          <UML:Diagram name="Builder" xmi.id="EAID_7D2268BA_5D98_43ca_9910_0144BC58E4E4" diagramType="ClassDiagram" owner="EAPK_7D2268BA_5D98_43ca_9910_0144BC58E4E4" toolName="Enterprise Architect 2.5">
            <UML:ModelElement.taggedValue>
              <UML:TaggedValue tag="documentation" value="This pattern separates the construction of a complex object from its representation so that the same construction process can create different representations."/>
              <UML:TaggedValue tag="version" value="1.0"/>
              <UML:TaggedValue tag="created_date" value="2004-12-14 10:23:22"/>
              <UML:TaggedValue tag="modified_date" value="2005-02-11 15:26:14"/>
              <UML:TaggedValue tag="package" value="EAPK_24AE5B32_F3A4_4c13_AE89_AEE7FB895684"/>
              <UML:TaggedValue tag="type" value="Logical"/>
              <UML:TaggedValue tag="swimlanes" value="locked=false;orientation=0;width=0;inbar=false;names=false;color=0;bold=false;fcol=0;;cls=0;"/>
              <UML:TaggedValue tag="EAStyle" value="ShowPrivate=1;ShowProtected=1;ShowPublic=1;HideRelationships=0;Locked=0;Border=1;HighlightForeign=1;PackageContents=1;SequenceNotes=0;ScalePrintImage=0;PPgs.cx=0;PPgs.cy=0;DocSize.cx=780;DocSize.cy=1138;ShowDetails=0;Orientation=P;Zoom=100;ShowTags=0;OpParams=1;ShowIcons=1;CollabNums=0;HideProps=0;ShowReqs=0;ShowCons=0;PaperSize=9;HideParents=0;UseAlias=0;HideAtts=0;HideOps=0;HideStereo=0;HideElemStereo=0;ShowTests=0;ShowMaint=0;"/>
              <UML:TaggedValue tag="styleex" value="ExcludeRTF=0;DocAll=0;HideQuals=0;AttPkg=1;ShowTests=0;ShowMaint=0;SuppressFOC=0;TDurLow=0;TDurHigh=100;TDurUnit=;TDurHide=0;"/>
            </UML:ModelElement.taggedValue>
            <UML:Diagram.element>
              <UML:DiagramElement geometry="Left=428;Top=208;Right=547;Bottom=279;imgL=422;imgT=166;imgR=541;imgB=237;" subject="EAID_63ED2036_427A_4335_A11B_463B41918301" seqno="1" style="DUID=FC89B253;LBL=;"/>
              <UML:DiagramElement geometry="Left=226;Top=199;Right=350;Bottom=287;imgL=220;imgT=157;imgR=344;imgB=245;" subject="EAID_EAB9FF15_DF99_40eb_87A3_F0887BA11F1D" seqno="2" style="DUID=7D0C8823;LBL=;"/>
              <UML:DiagramElement geometry="Left=225;Top=52;Right=350;Bottom=122;imgL=219;imgT=10;imgR=344;imgB=80;" subject="EAID_5D9D1657_7D91_448d_8D78_85389C2A6B92" seqno="3" style="DUID=E7DB7B2B;LBL=;"/>
              <UML:DiagramElement geometry="Left=16;Top=52;Right=155;Bottom=122;imgL=10;imgT=10;imgR=149;imgB=80;" subject="EAID_686B315C_45B7_4f3b_B577_A3FC1B986EF0" seqno="4" style="DUID=39839D73;LBL=;"/>
              <UML:DiagramElement geometry="EDGE=1;$LLB=;LLT=;LMT=;LMB=;LRT=;LRB=;Path=;" subject="EAID_CF70D9FB_659F_4b09_B9D0_AF2B8DC857DE" style="Mode=1;EOID=E7DB7B2B;SOID=7D0C8823;Hidden=0;"/>
              <UML:DiagramElement geometry="EDGE=2;$LLB=;LLT=;LMT=;LMB=;LRT=;LRB=;Path=;" subject="EAID_26B91DAA_8D97_4306_B677_F6A051C881D8" style="Mode=3;EOID=E7DB7B2B;SOID=39839D73;Hidden=0;"/>
              <UML:DiagramElement geometry="EDGE=2;$LLB=;LLT=;LMT=;LMB=;LRT=CX=48:CY=15:OX=0:OY=0:HDN=0:BLD=0:ITA=0:UND=0:CLR=-1:ALN=0:DIR=0:ROT=0;LRB=;Path=;" subject="EAID_AC162181_6080_45bb_9D50_D4B7CFDC10B6" style="Mode=3;EOID=FC89B253;SOID=7D0C8823;Hidden=0;"/>
            </UML:Diagram.element>
          </UML:Diagram>
        </XMI.content>
        <XMI.difference/>
        <XMI.extensions xmi.extender="Enterprise Architect 2.5">
          <EAStub xmi.id="EAID_686B315C_45B7_4f3b_B577_A3FC1B986EF0" name="Director" UMLType="Class"/>
          <EAStub xmi.id="EAID_5D9D1657_7D91_448d_8D78_85389C2A6B92" name="Builder" UMLType="Class"/>
          <EAStub xmi.id="EAID_EAB9FF15_DF99_40eb_87A3_F0887BA11F1D" name="ConcreteBuilder" UMLType="Class"/>
          <EAStub xmi.id="EAID_63ED2036_427A_4335_A11B_463B41918301" name="Product" UMLType="Class"/>
          <UMLPattern name="Builder" category="GoF Creational Patterns" version="1.0" notes="This pattern separates the construction of a complex object from its representation so that the same construction process can create different representations.">
            <UMLPattern.PromptList>
              <Element name="Product:Class" guid="EAID_63ED2036_427A_4335_A11B_463B41918301" id="762" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class (a) represents the complex object under construction. ConcreteBuilder builds the product's internal representation and defines the process by which it's assembled, and (b) includes classes that define the constituent parts, including interfaces for assembling the parts into the final result.">
                  <![CDATA[This class (a) represents the complex object under construction. ConcreteBuilder builds the product's internal representation and defines the process by which it's assembled, and (b) includes classes that define the constituent parts, including interfaces for assembling the parts into the final result.]]>
                </Comment>
              </Element>
              <Element name="ConcreteBuilder:Class" guid="EAID_EAB9FF15_DF99_40eb_87A3_F0887BA11F1D" id="761" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class (a) constructs and assembles parts of the product by implementing the Builder interface, (b) defines and keeps track of the representation it creates, and (c) provides an interface for retrieving the product.">
                  <![CDATA[This class (a) constructs and assembles parts of the product by implementing the Builder interface, (b) defines and keeps track of the representation it creates, and (c) provides an interface for retrieving the product.]]>
                </Comment>
              </Element>
              <Element name="Builder:Class" guid="EAID_5D9D1657_7D91_448d_8D78_85389C2A6B92" id="760" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class specifies an abstract interface for creating parts of a Product object.">
                  <![CDATA[This class specifies an abstract interface for creating parts of a Product object.]]>
                </Comment>
              </Element>
              <Element name="Director:Class" guid="EAID_686B315C_45B7_4f3b_B577_A3FC1B986EF0" id="759" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class constructs an object using the Builder interface.">
                  <![CDATA[This class constructs an object using the Builder interface.]]>
                </Comment>
              </Element>
            </UMLPattern.PromptList>
            <UMLPattern.PreviewImage xmlns:dt="urn:schemas-microsoft-com:datatypes" dt:dt="bin.base64" cx="15496" cy="7221">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 bwBpAGQAAAAHAAAABgAAAAYAAAAEAAAAAwAAAAMAAAAGAAAABQAAAAMAAAADAAAABwAAAAYA AAADAAAAAwAAAAYAAAAGAAAAAwAAAAMAAAADAAAAAwAAAAMAAAAFAAAABgAAAAMAAAAGAAAA GAAAAAwAAACAgIAAHgAAABgAAAAtAAAAnP///5sAAACG////SwAAABAAAAAAAAAABQAAABYA AAAMAAAAAQAAABIAAAAMAAAAAQAAABsAAAAQAAAAAAAAAAAAAABUAAAAVAAAAAAAAAAAAAAA //////////8BAAAAAADhQQCQ4sEtAAAAnP///wEAAABMAAAAFAAAAAAAAAAAAAAAAAAAAAAA AABQAAAAAwASAFkAAAAWAAAADAAAAAAAAABUAAAAeAAAACcAAAA6AAAASAAAAEYAAAABAAAA AADhQQCQ4sEtAAAAnP///wcAAABMAAAAAAAAAAAAAAAAAAAA//////////9cAAAAYgB1AGkA bABkAGUAcgDDdwYAAAAGAAAAAwAAAAMAAAAGAAAABgAAAAMAAABUAAAAVAAAAEgAAAA6AAAA SwAAAEYAAAABAAAAAADhQQCQ4sFOAAAAnP///wEAAABMAAAAAAAAAAAAAAAAAAAA//////// //9QAAAALgAAAAMAAABUAAAAhAAAAEsAAAA6AAAAdwAAAEYAAAABAAAAAADhQQCQ4sFRAAAA nP///wkAAABMAAAAAAAAAAAAAAAAAAAA//////////9gAAAAQgB1AGkAbABkAFAAYQByAHQA AAAHAAAABgAAAAMAAAADAAAABgAAAAcAAAAGAAAAAwAAAAMAAABUAAAAWAAAAHcAAAA6AAAA fQAAAEYAAAABAAAAAADhQQCQ4sF9AAAAnP///wIAAABMAAAAAAAAAAAAAAAAAAAA//////// //9QAAAAKAApAAMAAAADAAAAVAAAAFQAAAB9AAAAOgAAAIAAAABGAAAAAQAAAAAA4UEAkOLB gwAAAJz///8BAAAATAAAAAAAAAAAAAAAAAAAAP//////////UAAAADsAAAADAAAAGwAAABAA AACaAAAAsf///xYAAAAMAAAAAAAAABgAAAAMAAAAAEBAABgAAAAMAAAAAAAAACcAAAAYAAAA BAAAAAAAAADAv8AAAAAAACUAAAAMAAAABAAAACYAAAAcAAAABgAAAAAAAAABAAAAAAAAAMC/ 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 AAADAAAAKAAAAAwAAAAIAAAAKwAAABgAAADiAAAAOf///10BAADi/v//JQAAAAwAAAAFAAAA VAAAAKgAAADyAAAApgAAAEEBAACxAAAAAQAAAAAA4UEAkOLB+AAAADD///8PAAAATAAAAAAA AAAAAAAAAAAAAP//////////bAAAAEMAbwBuAGMAcgBlAHQAZQBCAHUAaQBsAGQAZQByAP// BwAAAAYAAAAGAAAABgAAAAQAAAAGAAAAAwAAAAYAAAAHAAAABgAAAAMAAAADAAAABgAAAAYA AAAEAAAAJQAAAAwAAAABAAAAGwAAABAAAADiAAAAHv///zYAAAAQAAAAXQEAAB7///8YAAAA DAAAAAAAgAAYAAAADAAAAAAAAAAYAAAADAAAAABAQABUAAAAWAAAAOEAAADAAAAA6gAAAMwA AAABAAAAAADhQQCQ4sHnAAAAFv///wIAAABMAAAAAAAAAAAAAAAAAAAA//////////9QAAAA KwAgAAYAAAADAAAAVAAAALgAAADyAAAAwAAAAEEBAADMAAAAAQAAAAAA4UEAkOLB+AAAABb/ //8SAAAATAAAAAAAAAAAAAAAAAAAAP//////////cAAAAEIAdQBpAGwAZABQAGEAcgB0ACgA KQAgADoAIAB2AG8AaQBkAAcAAAAGAAAAAwAAAAMAAAAGAAAABwAAAAYAAAADAAAAAwAAAAMA AAADAAAAAwAAAAMAAAADAAAABQAAAAYAAAADAAAABgAAAFQAAABYAAAA4QAAAM0AAADqAAAA 2QAAAAEAAAAAAOFBAJDiwecAAAAJ////AgAAAEwAAAAAAAAAAAAAAAAAAAD//////////1AA AAArACAABgAAAAMAAABUAAAAzAAAAPIAAADNAAAAUwEAANkAAAABAAAAAADhQQCQ4sH4AAAA Cf///xUAAABMAAAAAAAAAAAAAAAAAAAA//////////94AAAARwBlAHQAUgBlAHMAdQBsAHQA KAApACAAOgAgAFAAcgBvAGQAdQBjAHQAAAAIAAAABgAAAAMAAAAHAAAABgAAAAQAAAAGAAAA AwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAcAAAADAAAABgAAAAYAAAAGAAAABQAAAAMA AAAYAAAADAAAAAAAAAAnAAAAGAAAAAgAAAAAAAAAwL/AAAAAAAAlAAAADAAAAAgAAAAmAAAA HAAAAAcAAAAAAAAAAQAAAAAAAADAv8AAJQAAAAwAAAAHAAAAKwAAABgAAACvAQAALf///yUC AADn/v//JQAAAAwAAAACAAAAKAAAAAwAAAAIAAAAJQAAAAwAAAADAAAAKAAAAAwAAAAHAAAA KwAAABgAAACsAQAAMP///yICAADq/v//JQAAAAwAAAAFAAAAVAAAAHgAAADOAQAArwAAAPQB AAC6AAAAAQAAAAAA4UEAkOLB1AEAACf///8HAAAATAAAAAAAAAAAAAAAAAAAAP////////// XAAAAFAAcgBvAGQAdQBjAHQAAAAHAAAABAAAAAYAAAAGAAAABgAAAAYAAAADAAAAJQAAAAwA AAABAAAAGwAAABAAAACsAQAAFf///zYAAAAQAAAAIgIAABX///8YAAAADAAAAAAAgABUAAAA WAAAAKsBAADFAAAAsQEAANEAAAABAAAAAADhQQCQ4sGxAQAAEf///wIAAABMAAAAAAAAAAAA AAAAAAAA//////////9QAAAALQAgAAMAAAADAAAAVAAAAMwAAAC8AQAAxQAAABMCAADRAAAA AQAAAAAA4UEAkOLBwgEAABH///8VAAAATAAAAAAAAAAAAAAAAAAAAP//////////eAAAAHAA YQByAHQAcwA6ACAAIABPAGIAagBlAGMAdAAgAFsAMAAuAC4AKgBdAAAABgAAAAYAAAADAAAA AwAAAAQAAAADAAAAAwAAAAMAAAAIAAAABgAAAAMAAAAGAAAABQAAAAMAAAADAAAAAwAAAAYA AAADAAAAAwAAAAQAAAADAAAAGAAAAAwAAAAAAAAAGwAAABAAAACsAQAA+/7//zYAAAAQAAAA IgIAAPv+//8YAAAADAAAAABAQABUAAAAWAAAAKsBAADfAAAAtAEAAOsAAAABAAAAAADhQQCQ 4sGxAQAA9/7//wIAAABMAAAAAAAAAAAAAAAAAAAA//////////9QAAAAKwAgAAYAAAADAAAA VAAAALgAAAC8AQAA3wAAABECAADrAAAAAQAAAAAA4UEAkOLBwgEAAPf+//8SAAAATAAAAAAA AAAAAAAAAAAAAP//////////cAAAAEEAZABkACgATwBiAGoAZQBjAHQAKQAgADoAIAB2AG8A aQBkAAcAAAAGAAAABgAAAAMAAAAIAAAABgAAAAMAAAAGAAAABQAAAAMAAAADAAAAAwAAAAMA AAADAAAABQAAAAYAAAADAAAABgAAABgAAAAMAAAAAAAAACYAAAAcAAAABwAAAAAAAAABAAAA AAAAAAAAAAAlAAAADAAAAAcAAAAbAAAAEAAAAB8BAAA5////NgAAABAAAAAfAQAAhv///xsA AAAQAAAAHwEAAIb///9WAAAAKAAAABQBAABQAAAAHwEAAF8AAAADAAAAJQF3/xoBd/8fAYb/ EgAAAAwAAAACAAAAGQAAAAwAAAD///8AEgAAAAwAAAABAAAAGQAAAAwAAAD///8AJQAAAAwA AAADAAAAKAAAAAwAAAAHAAAAJgAAABwAAAAHAAAAAAAAAAEAAAAAAAAAAAAAACUAAAAMAAAA BwAAABsAAAAQAAAAmwAAAKn///82AAAAEAAAAJ4AAACp////GwAAABAAAAChAAAAqf///zYA AAAQAAAApAAAAKn///8bAAAAEAAAAKcAAACp////NgAAABAAAACqAAAAqf///xsAAAAQAAAA rQAAAKn///82AAAAEAAAALAAAACp////GwAAABAAAACzAAAAqf///zYAAAAQAAAAtgAAAKn/ //8bAAAAEAAAALkAAACp////NgAAABAAAAC8AAAAqf///xsAAAAQAAAAvwAAAKn///82AAAA EAAAAMIAAACp////GwAAABAAAADFAAAAqf///zYAAAAQAAAAyAAAAKn///8bAAAAEAAAAMsA AACp////NgAAABAAAADOAAAAqf///xsAAAAQAAAA0QAAAKn///82AAAAEAAAANQAAACp//// GwAAABAAAADXAAAAqf///zYAAAAQAAAA2gAAAKn///8bAAAAEAAAAN0AAACp////NgAAABAA AADgAAAAqf///xsAAAAQAAAA4QAAAKn///8bAAAAEAAAAOEAAACp////NgAAABAAAADTAAAA pf///xsAAAAQAAAA4QAAAKn///82AAAAEAAAANMAAACu////EgAAAAwAAAACAAAAGQAAAAwA AAD///8AEgAAAAwAAAABAAAAGQAAAAwAAAD///8AJQAAAAwAAAADAAAAKAAAAAwAAAAHAAAA JgAAABwAAAAHAAAAAAAAAAEAAAAAAAAAAAAAACUAAAAMAAAABwAAABsAAAAQAAAAXgEAAA3/ //82AAAAEAAAAKwBAAAN////GwAAABAAAACsAQAADf///xsAAAAQAAAArAEAAA3///82AAAA EAAAAJ4BAAAI////GwAAABAAAACsAQAADf///zYAAAAQAAAAngEAABP///8SAAAADAAAAAIA AAAZAAAADAAAAP///wBSAAAAcAEAAAgAAAD2////AAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAA QQBSAEkAQQBMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAEgAAAAAAAAAAAITnEgCs5xIAtyyRfPAvIgCY7u4AjOcSAAAAAACOoIB8 AABAAJju7gCM5xIApaCAfPjnEgDSjwAAAAAAABAAAAAFAAAA/OcSAP8AAADA5xIApQLVdzzo EgD/AAAA2OcSAGxzDgEKAAAA9RndcwAA6nNAAAAAAAAAAFDpEgAAAAAAaOXqc7znEgBY6RIA F+/mc/////+46BIAnibdcwUAAABQ6RIAUOkSAAUAAAAAABIAP0LdcwAAHw486BIABQAAADzo EgBQ6RIAF0LdcwUAAAA86BIABQAAAAABAAAOSt1zPOgSAAAAAABcSt1zZHYACAAAAABkdgAI AAAAACUAAAAMAAAACAAAAFQAAAB8AAAAfQEAALcAAACjAQAAwwAAAAEAAAAAAOFBAJDiwYMB AAAf////CAAAAEwAAAAAAAAAAAAAAAAAAAD//////////1wAAAAtAHAAcgBvAGQAdQBjAHQA AwAAAAYAAAADAAAABgAAAAYAAAAGAAAABQAAAAMAAAAlAAAADAAAAAEAAAAoAAAADAAAAAgA AAASAAAADAAAAAEAAAAZAAAADAAAAP///wAlAAAADAAAAAMAAAAoAAAADAAAAAcAAAAlAAAA DAAAAA0AAIAoAAAADAAAAAEAAAAoAAAADAAAAAUAAAAlAAAADAAAAAAAAIAoAAAADAAAAAIA AAAlAAAADAAAAAcAAIAoAAAADAAAAAMAAAAOAAAAFAAAAAAAAAAQAAAAFAAAAA==</UMLPattern.PreviewImage>
          </UMLPattern>
        </XMI.extensions>
      </XMI>
    </UMLPattern>
    <UMLPattern>
      <XMI xmi.version="1.1" xmlns:UML="omg.org/UML1.3" timestamp="2005-02-11 15:41:04">
        <XMI.header>
          <XMI.documentation>
            <XMI.exporter>Enterprise Architect</XMI.exporter>
            <XMI.exporterVersion>2.5</XMI.exporterVersion>
          </XMI.documentation>
        </XMI.header>
        <XMI.content>
          <UML:Model name="EA Model" xmi.id="MX_EAID_361AE86E_F915_45c7_916B_26895BFA76AB">
            <UML:Namespace.ownedElement>
              <UML:Class name="Handler" xmi.id="EAID_FCB21E50_2655_435e_B1D9_50F95D4C1183" visibility="public" namespace="EAPK_361AE86E_F915_45c7_916B_26895BFA76AB" isRoot="false" isLeaf="false" isAbstract="true" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class defines an interface for handling requests and optionally implements the successor link."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_361AE86E_F915_45c7_916B_26895BFA76AB"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-07 10:54:46"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-09 11:55:48"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Chain of Responsibility"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="SetSuccessor" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="behaviour" value="this.successor = successor;"/>
                      <UML:TaggedValue tag="code" value="&#xA;"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{2CB8CD2F-7253-462a-A413-E13DE48C684B}"/>
                      <UML:TaggedValue tag="styleex" value="ShowBeh=0;"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-7253-462a-A413-E13DE48C684B}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                      <UML:Parameter name="successor" kind="in" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="EAID_FCB21E50_2655_435e_B1D9_50F95D4C1183"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="Handler"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="classifier" value="EAID_FCB21E50_2655_435e_B1D9_50F95D4C1183"/>
                          <UML:TaggedValue tag="ea_guid" value="{69993776-88BC-4190-A3DA-9B45A068CA83}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                  <UML:Operation name="HandleRequest" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="isAbstract" value="1"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="1"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{0E70BA16-86D5-40f7-86EC-B0649779FF9B}"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-86D5-40f7-86EC-B0649779FF9B}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                      <UML:Parameter name="request" kind="in" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid1"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="int"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{0503C869-B332-4440-8FD0-0846DAC7FF77}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
              <UML:Association xmi.id="EAID_163CA7F6_1A21_4ffc_BBFB_33027A8CE812" visibility="public" isRoot="false" isLeaf="false" isAbstract="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="3"/>
                  <UML:TaggedValue tag="ea_type" value="Association"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="3"/>
                  <UML:TaggedValue tag="linecolor" value="0"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="privatedata5" value="SX=0;SY=0;"/>
                  <UML:TaggedValue tag="virtualInheritance" value="0"/>
                </UML:ModelElement.taggedValue>
                <UML:Association.connection>
                  <UML:AssociationEnd visibility="public" aggregation="none" isOrdered="false" isNavigable="false" type="EAID_FCB21E50_2655_435e_B1D9_50F95D4C1183">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="containment" value="Unspecified"/>
                    </UML:ModelElement.taggedValue>
                  </UML:AssociationEnd>
                  <UML:AssociationEnd visibility="protected" name="successor" aggregation="none" isOrdered="false" isNavigable="true" type="EAID_FCB21E50_2655_435e_B1D9_50F95D4C1183">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="containment" value="Unspecified"/>
                    </UML:ModelElement.taggedValue>
                  </UML:AssociationEnd>
                </UML:Association.connection>
              </UML:Association>
              <UML:Generalization subtype="EAID_76F214FE_56C1_496e_882D_19AF63566782" supertype="EAID_FCB21E50_2655_435e_B1D9_50F95D4C1183" xmi.id="EAID_2734E705_F31E_4675_A2B6_2747EE789E87" visibility="public">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="3"/>
                  <UML:TaggedValue tag="ea_type" value="Generalization"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="3"/>
                  <UML:TaggedValue tag="linecolor" value="0"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="subtype" value="Tree"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="src_visibility" value="Public"/>
                  <UML:TaggedValue tag="src_aggregation" value="0"/>
                  <UML:TaggedValue tag="src_isOrdered" value="false"/>
                  <UML:TaggedValue tag="src_isNavigable" value="false"/>
                  <UML:TaggedValue tag="dst_visibility" value="Public"/>
                  <UML:TaggedValue tag="dst_aggregation" value="0"/>
                  <UML:TaggedValue tag="dst_isOrdered" value="false"/>
                  <UML:TaggedValue tag="dst_isNavigable" value="false"/>
                  <UML:TaggedValue tag="privatedata5" value="SX=0;SY=0;"/>
                </UML:ModelElement.taggedValue>
              </UML:Generalization>
              <UML:Generalization subtype="EAID_2087FD43_7335_4a62_B471_ACDB2F851A32" supertype="EAID_FCB21E50_2655_435e_B1D9_50F95D4C1183" xmi.id="EAID_8E125BB5_B48A_4aca_A515_8EFCCA46E25F" visibility="public">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="3"/>
                  <UML:TaggedValue tag="ea_type" value="Generalization"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="3"/>
                  <UML:TaggedValue tag="linecolor" value="0"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="subtype" value="Tree"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="src_visibility" value="Public"/>
                  <UML:TaggedValue tag="src_aggregation" value="0"/>
                  <UML:TaggedValue tag="src_isOrdered" value="false"/>
                  <UML:TaggedValue tag="src_isNavigable" value="false"/>
                  <UML:TaggedValue tag="dst_visibility" value="Public"/>
                  <UML:TaggedValue tag="dst_aggregation" value="0"/>
                  <UML:TaggedValue tag="dst_isOrdered" value="false"/>
                  <UML:TaggedValue tag="dst_isNavigable" value="false"/>
                  <UML:TaggedValue tag="privatedata5" value="SX=0;SY=0;EX=0;EY=0;"/>
                </UML:ModelElement.taggedValue>
              </UML:Generalization>
              <UML:Class name="ConcreteHandler1" xmi.id="EAID_76F214FE_56C1_496e_882D_19AF63566782" visibility="public" namespace="EAPK_361AE86E_F915_45c7_916B_26895BFA76AB" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class (a) handles requests it is responsible for, (b) can access its successor, and (c) if it can handle the request, does so, else it forwards it to its successor."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_361AE86E_F915_45c7_916B_26895BFA76AB"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-07 10:55:23"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-09 11:55:48"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Chain of Responsibility"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="HandleRequest" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{054908BE-9433-419a-AE4D-126316D41412}"/>
                      <UML:TaggedValue tag="override" value="true" xmi.id="EAID_7CFA98BD_1EB8_4991_8AF7_3801C6E5F027"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-9433-419a-AE4D-126316D41412}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                      <UML:Parameter name="request" kind="in" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid1"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="int"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{E1F8B8D5-1598-441a-AE7B-D976E9501065}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
              <UML:Class name="ConcreteHandler2" xmi.id="EAID_2087FD43_7335_4a62_B471_ACDB2F851A32" visibility="public" namespace="EAPK_361AE86E_F915_45c7_916B_26895BFA76AB" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class (a) handles requests it is responsible for, (b) can access its successor, and (c) if it can handle the request, does so, else it forwards it to its successor."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_361AE86E_F915_45c7_916B_26895BFA76AB"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-07 10:55:42"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-09 11:55:48"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Chain of Responsibility"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="HandleRequest" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{11FE1EEA-4D09-45fd-8321-1FF30C2CA59C}"/>
                      <UML:TaggedValue tag="override" value="true" xmi.id="EAID_C101883A_BB4D_48c4_92C8_3ABD2427878F"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-4D09-45fd-8321-1FF30C2CA59C}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                      <UML:Parameter name="request" kind="in" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid1"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="int"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{7132B85F-3FA4-49c0-8961-676C9F0E0A10}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
            </UML:Namespace.ownedElement>
          </UML:Model>
          <UML:Diagram name="Chain of Responsibility" xmi.id="EAID_BAADCE51_CA2E_45b5_8491_FA0351203CD2" diagramType="ClassDiagram" owner="EAPK_BAADCE51_CA2E_45b5_8491_FA0351203CD2" toolName="Enterprise Architect 2.5">
            <UML:ModelElement.taggedValue>
              <UML:TaggedValue tag="documentation" value="This pattern avoids coupling the sender of a request to its receiver by giving more than one object a chance to handle the request. It chains the receiving objects and passes the request along the chain until an object handles it."/>
              <UML:TaggedValue tag="version" value="1.0"/>
              <UML:TaggedValue tag="created_date" value="2004-12-14 13:32:09"/>
              <UML:TaggedValue tag="modified_date" value="2005-01-31 14:41:19"/>
              <UML:TaggedValue tag="package" value="EAPK_361AE86E_F915_45c7_916B_26895BFA76AB"/>
              <UML:TaggedValue tag="type" value="Logical"/>
              <UML:TaggedValue tag="swimlanes" value="locked=false;orientation=0;width=0;inbar=false;names=false;color=0;bold=false;fcol=0;;cls=0;"/>
              <UML:TaggedValue tag="EAStyle" value="ShowPrivate=1;ShowProtected=1;ShowPublic=1;HideRelationships=0;Locked=0;Border=1;HighlightForeign=1;PackageContents=1;SequenceNotes=0;ScalePrintImage=0;PPgs.cx=0;PPgs.cy=0;DocSize.cx=780;DocSize.cy=1138;ShowDetails=0;Orientation=P;Zoom=100;ShowTags=0;OpParams=1;ShowIcons=1;CollabNums=0;HideProps=0;ShowReqs=0;ShowCons=0;PaperSize=9;HideParents=0;UseAlias=0;HideAtts=0;HideOps=0;HideStereo=0;HideElemStereo=0;ShowTests=0;ShowMaint=0;"/>
              <UML:TaggedValue tag="styleex" value="ExcludeRTF=0;DocAll=0;HideQuals=0;AttPkg=1;ShowTests=0;ShowMaint=0;SuppressFOC=0;TDurLow=0;TDurHigh=100;TDurUnit=;TDurHide=0;"/>
            </UML:ModelElement.taggedValue>
            <UML:Diagram.element>
              <UML:DiagramElement geometry="Left=228;Top=178;Right=374;Bottom=248;imgL=213;imgT=166;imgR=359;imgB=236;" subject="EAID_2087FD43_7335_4a62_B471_ACDB2F851A32" seqno="1" style="DUID=E99CB93F;LBL=;"/>
              <UML:DiagramElement geometry="Left=25;Top=178;Right=172;Bottom=248;imgL=10;imgT=166;imgR=157;imgB=236;" subject="EAID_76F214FE_56C1_496e_882D_19AF63566782" seqno="2" style="DUID=BED62BCC;LBL=;"/>
              <UML:DiagramElement geometry="Left=115;Top=22;Right=276;Bottom=110;imgL=100;imgT=10;imgR=261;imgB=98;" subject="EAID_FCB21E50_2655_435e_B1D9_50F95D4C1183" seqno="3" style="DUID=4A9AF6CF;LBL=;"/>
              <UML:DiagramElement geometry="SX=0;SY=0;EDGE=2;$LLB=;LLT=;LMT=;LMB=;LRT=CX=59:CY=15:OX=0:OY=0:HDN=0:BLD=0:ITA=0:UND=0:CLR=-1:ALN=0:DIR=0:ROT=0;LRB=;Path=;" subject="EAID_163CA7F6_1A21_4ffc_BBFB_33027A8CE812" style="Mode=3;EOID=4A9AF6CF;SOID=4A9AF6CF;Hidden=0;"/>
              <UML:DiagramElement geometry="SX=0;SY=0;EX=0;EY=0;EDGE=1;$LLB=;LLT=;LMT=;LMB=;LRT=;LRB=;Path=301:-160$195:-160$;" subject="EAID_8E125BB5_B48A_4aca_A515_8EFCCA46E25F" style="Mode=3;EOID=4A9AF6CF;SOID=E99CB93F;Hidden=0;"/>
              <UML:DiagramElement geometry="SX=0;SY=0;EDGE=1;$LLB=;LLT=;LMT=;LMB=;LRT=;LRB=;Path=98:-160$195:-160$;" subject="EAID_2734E705_F31E_4675_A2B6_2747EE789E87" style="Mode=3;EOID=4A9AF6CF;SOID=BED62BCC;Hidden=0;"/>
            </UML:Diagram.element>
          </UML:Diagram>
        </XMI.content>
        <XMI.difference/>
        <XMI.extensions xmi.extender="Enterprise Architect 2.5">
          <EAStub xmi.id="EAID_FCB21E50_2655_435e_B1D9_50F95D4C1183" name="Handler" UMLType="Class"/>
          <EAStub xmi.id="EAID_76F214FE_56C1_496e_882D_19AF63566782" name="ConcreteHandler1" UMLType="Class"/>
          <EAStub xmi.id="EAID_2087FD43_7335_4a62_B471_ACDB2F851A32" name="ConcreteHandler2" UMLType="Class"/>
          <UMLPattern name="Chain of Responsibility" category="GoF Behavioral Patterns" version="1.0" notes="This pattern avoids coupling the sender of a request to its receiver by giving more than one object a chance to handle the request. It chains the receiving objects and passes the request along the chain until an object handles it.">
            <UMLPattern.PromptList>
              <Element name="ConcreteHandler2:Class" guid="EAID_2087FD43_7335_4a62_B471_ACDB2F851A32" id="588" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class (a) handles requests it is responsible for, (b) can access its successor, and (c) if it can handle the request, does so, else it forwards it to its successor.">
                  <![CDATA[This class (a) handles requests it is responsible for, (b) can access its successor, and (c) if it can handle the request, does so, else it forwards it to its successor.]]>
                </Comment>
              </Element>
              <Element name="ConcreteHandler1:Class" guid="EAID_76F214FE_56C1_496e_882D_19AF63566782" id="587" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class (a) handles requests it is responsible for, (b) can access its successor, and (c) if it can handle the request, does so, else it forwards it to its successor.">
                  <![CDATA[This class (a) handles requests it is responsible for, (b) can access its successor, and (c) if it can handle the request, does so, else it forwards it to its successor.]]>
                </Comment>
              </Element>
              <Element name="Handler:Class" guid="EAID_FCB21E50_2655_435e_B1D9_50F95D4C1183" id="586" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class defines an interface for handling requests and optionally implements the successor link.">
                  <![CDATA[This class defines an interface for handling requests and optionally implements the successor link.]]>
                </Comment>
              </Element>
            </UMLPattern.PromptList>
            <UMLPattern.PreviewImage xmlns:dt="urn:schemas-microsoft-com:datatypes" dt:dt="bin.base64" cx="10378" cy="6966">AQAAAGwAAAAKAAAACgAAAGkBAADuAAAAAAAAAAAAAACKKAAANhsAACBFTUYAAAEAPBcAAKAA AAAJAAAAAAAAAAAAAAAAAAAAAAUAAAAEAABoAQAAIgEAAAAAAAAAAAAAAAAAAEB+BQDQbAQA EQAAAAwAAAAIAAAACQAAABAAAAABAAAA/////woAAAAQAAAADwAAAPT///9SAAAAcAEAAAEA AAD2////AAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAQQBSAEkAQQBMAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkXwAAEAAHOcSAAAA AAAAAAAAhOcSAKznEgC3LJF88C8iAJju7gCM5xIAAAAAAI6ggHwAAEAAmO7uAIznEgCloIB8 +OcSANKPAAAAAAAAEAAAAAUAAAD85xIA/wAAAMDnEgClAtV3POgSAP8AAADY5xIAbHMOAQoA AAD1Gd1zAADqc0AAAAAFAAAAUOkSAAAAAABo5epzvOcSAFjpEgAX7+Zz/////7joEgCeJt1z BQAAAFDpEgBQ6RIABQAAAAAAEgA/Qt1zABkmDjzoEgAFAAAAPOgSAFDpEgAXQt1zBQAAADzo EgAFAAAAAAEAAA5K3XM86BIAAAAAAFxK3XNkdgAIAAAAACUAAAAMAAAAAQAAACcAAAAYAAAA AgAAAAAAAAD88uMAAAAAACUAAAAMAAAAAgAAACYAAAAcAAAAAwAAAAAAAAABAAAAAAAAAAAA AAAlAAAADAAAAAMAAAASAAAADAAAAAEAAAAhAAAACAAAABgAAAAMAAAAAAAAACYAAAAcAAAA BAAAAAAAAAABAAAAAAAAAAAAAAAlAAAADAAAAAQAAAASAAAADAAAAAIAAAAZAAAADAAAAP// /wASAAAADAAAAAEAAAAZAAAADAAAAP///wASAAAADAAAAAIAAAAZAAAADAAAAP///wASAAAA DAAAAAEAAAAZAAAADAAAAP///wASAAAADAAAAAIAAAAZAAAADAAAAP///wASAAAADAAAAAEA AAAZAAAADAAAAP///wAlAAAADAAAAAMAAAAiAAAADAAAAP////8oAAAADAAAAAQAAAAnAAAA GAAAAAQAAAAAAAAAwL/AAAAAAAAlAAAADAAAAAQAAAAmAAAAHAAAAAUAAAAAAAAAAQAAAAAA AADAv8AAJQAAAAwAAAAFAAAAOQAAAAwAAAACAAAAKwAAABgAAAB2AAAA5////xYBAACQ//// JQAAAAwAAAACAAAAKAAAAAwAAAAEAAAAJQAAAAwAAAADAAAAKAAAAAwAAAAFAAAAKwAAABgA AABzAAAA6v///xMBAACT////UgAAAHABAAAFAAAA9v///wAAAAAAAAAAAAAAALwCAAABAAAB AAAAAEEAUgBJAEEATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAACE5xIArOcSALcskXzwLyIAmO7uAIznEgAAAAAA jqCAfAAAQACY7u4AjOcSAKWggHz45xIA0o8AAAAAAAAQAAAABQAAAPznEgD/AAAAwOcSAKUC 1Xc86BIA/wAAANjnEgBscw4BCgAAAPUZ3XMAAOpzQAAAAAAAAABQ6RIAAAAAAGjl6nO85xIA WOkSABfv5nP/////uOgSAJ4m3XMFAAAAUOkSAFDpEgAFAAAAAAASAD9C3XMAAMJ3CAAAAP// //////9/EAAAAC6lw3egGsZ3mOkSAEPDwncEAAAAzsPCdwfEwneAlyUO/////6Aaxndgj2gB ZHYACAAAAAAlAAAADAAAAAUAAABUAAAAeAAAAKEAAAATAAAAxwAAAB0AAAABAAAAAADhQQCQ 4sGwAAAA4f///wcAAABMAAAAAAAAAAAAAAAAAAAA//////////9cAAAASABhAG4AZABsAGUA cgAAAAcAAAAGAAAABgAAAAYAAAADAAAABgAAAAQAAAAlAAAADAAAAAEAAAAbAAAAEAAAAHMA AADP////NgAAABAAAAATAQAAz////xgAAAAMAAAAAACAABgAAAAMAAAAAAAAABgAAAAMAAAA AEBAAFQAAABYAAAAaQAAAC0AAAByAAAAOQAAAAEAAAAAAOFBAJDiwXgAAADH////AgAAAEwA AAAAAAAAAAAAAAAAAAD//////////1AAAAArACAABgAAAAMAAABUAAAA9AAAAHoAAAAtAAAA AAEAADkAAAABAAAAAADhQQCQ4sGJAAAAx////xwAAABMAAAAAAAAAAAAAAAAAAAA//////// //+EAAAAUwBlAHQAUwB1AGMAYwBlAHMAcwBvAHIAKABIAGEAbgBkAGwAZQByACkAIAA6ACAA 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 cQB1AGUAcwB0ACgAaQBuAHQAKQAgADoAIAB2AG8AaQBkAAAABwAAAAYAAAAGAAAABgAAAAMA AAAGAAAABwAAAAYAAAAGAAAABgAAAAYAAAAEAAAAAwAAAAMAAAADAAAABgAAAAMAAAADAAAA AwAAAAMAAAADAAAABQAAAAYAAAADAAAABgAAABgAAAAMAAAAAAAAACcAAAAYAAAABgAAAAAA AADAv8AAAAAAACUAAAAMAAAABgAAACYAAAAcAAAACAAAAAAAAAABAAAAAAAAAMC/wAAlAAAA DAAAAAgAAAArAAAAGAAAAOcAAABL////eAEAAAb///8lAAAADAAAAAIAAAAoAAAADAAAAAYA AAAlAAAADAAAAAMAAAAoAAAADAAAAAgAAAArAAAAGAAAAOQAAABO////dQEAAAn///8lAAAA DAAAAAcAAABUAAAArAAAAPIAAACvAAAASgEAALoAAAABAAAAAADhQQCQ4sEBAQAARf///xAA AABMAAAAAAAAAAAAAAAAAAAA//////////9sAAAAQwBvAG4AYwByAGUAdABlAEgAYQBuAGQA bABlAHIAMgAHAAAABgAAAAYAAAAGAAAABAAAAAYAAAADAAAABgAAAAcAAAAGAAAABgAAAAYA AAADAAAABgAAAAQAAAAGAAAAJQAAAAwAAAABAAAAGwAAABAAAADkAAAAM////zYAAAAQAAAA dQEAADP///8YAAAADAAAAAAAgAAYAAAADAAAAAAAAAAYAAAADAAAAABAQABUAAAAWAAAANoA AADJAAAA4wAAANUAAAABAAAAAADhQQCQ4sHpAAAAK////wIAAABMAAAAAAAAAAAAAAAAAAAA //////////9QAAAAKwAgAAYAAAADAAAAVAAAAOQAAADrAAAAyQAAAGIBAADVAAAAAQAAAAAA 4UEAkOLB+gAAACv///8ZAAAATAAAAAAAAAAAAAAAAAAAAP//////////gAAAAEgAYQBuAGQA bABlAFIAZQBxAHUAZQBzAHQAKABpAG4AdAApACAAOgAgAHYAbwBpAGQAAAAHAAAABgAAAAYA AAAGAAAAAwAAAAYAAAAHAAAABgAAAAYAAAAGAAAABgAAAAQAAAADAAAAAwAAAAMAAAAGAAAA AwAAAAMAAAADAAAAAwAAAAMAAAAFAAAABgAAAAMAAAAGAAAAGAAAAAwAAAAAAAAAJgAAABwA AAAIAAAAAAAAAAEAAAAAAAAAAAAAACUAAAAMAAAACAAAABsAAAAQAAAAFAEAAOD///82AAAA EAAAADIBAADg////NgAAABAAAAAyAQAA0f///zYAAAAQAAAAFAEAANH///8bAAAAEAAAABQB AADR////GwAAABAAAAAUAQAA0f///zYAAAAQAAAAIwEAANf///8bAAAAEAAAABQBAADR//// NgAAABAAAAAjAQAAy////xIAAAAMAAAAAgAAABkAAAAMAAAA////AFIAAABwAQAABgAAAPb/ //8AAAAAAAAAAAAAAAAAAAAAAAAAAQAAAABBAFIASQBBAEwAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAAAAAAAAAhOcSAKzn EgC3LJF88C8iAJju7gCM5xIAAAAAAI6ggHwAAEAAmO7uAIznEgCloIB8+OcSANKPAAAAAAAA EAAAAAUAAAD85xIA/wAAAMDnEgClAtV3POgSAP8AAADY5xIAbHMOAQoAAAD1Gd1zAADqc0AA AAAAAAAAUOkSAAAAAABo5epzvOcSAFjpEgAX7+Zz/////7joEgCeJt1zBQAAAFDpEgBQ6RIA BQAAAAAAEgA/Qt1zAAAmDjzoEgAFAAAAPOgSAFDpEgAXQt1zBQAAADzoEgAFAAAAAAEAAA5K 3XM86BIAAAAAAFxK3XNkdgAIAAAAAGR2AAgAAAAAJQAAAAwAAAAGAAAAVAAAAIgAAAAXAQAA JgAAAEgBAAAyAAAAAQAAAAAA4UEAkOLBJgEAAM7///8KAAAATAAAAAAAAAAAAAAAAAAAAP// ////////YAAAACMAcwB1AGMAYwBlAHMAcwBvAHIABgAAAAQAAAAGAAAABQAAAAUAAAAGAAAA BAAAAAQAAAAGAAAAAwAAACUAAAAMAAAAAQAAACgAAAAMAAAABgAAABIAAAAMAAAAAQAAABkA AAAMAAAA////ACUAAAAMAAAAAwAAACgAAAAMAAAACAAAACYAAAAcAAAACAAAAAAAAAABAAAA AAAAAAAAAAAlAAAADAAAAAgAAAAbAAAAEAAAAC0BAABO////NgAAABAAAAAtAQAAYP///zYA AAAQAAAAwwAAAGD///82AAAAEAAAAMMAAACS////GwAAABAAAADDAAAAkv///1YAAAAoAAAA rwAAAGIAAAC6AAAAcQAAAAMAAADJAIP/vgCD/8MAkv8SAAAADAAAAAIAAAAZAAAADAAAAP// /wASAAAADAAAAAEAAAAZAAAADAAAAP///wAlAAAADAAAAAMAAAAoAAAADAAAAAgAAAAmAAAA HAAAAAgAAAAAAAAAAQAAAAAAAAAAAAAAJQAAAAwAAAAIAAAAGwAAABAAAABiAAAATv///zYA AAAQAAAAYgAAAGD///82AAAAEAAAAMMAAABg////NgAAABAAAADDAAAAkv///xsAAAAQAAAA wwAAAJL///9WAAAAKAAAAK8AAABiAAAAugAAAHEAAAADAAAAyQCD/74Ag//DAJL/EgAAAAwA AAACAAAAGQAAAAwAAAD///8AEgAAAAwAAAABAAAAGQAAAAwAAAD///8AJQAAAAwAAAADAAAA KAAAAAwAAAAIAAAAJQAAAAwAAAANAACAKAAAAAwAAAABAAAAKAAAAAwAAAAHAAAAJQAAAAwA AAAAAACAKAAAAAwAAAACAAAAJQAAAAwAAAAHAACAKAAAAAwAAAADAAAADgAAABQAAAAAAAAA EAAAABQAAAA=</UMLPattern.PreviewImage>
          </UMLPattern>
        </XMI.extensions>
      </XMI>
    </UMLPattern>
    <UMLPattern>
      <XMI xmi.version="1.1" xmlns:UML="omg.org/UML1.3" timestamp="2005-02-11 15:41:30">
        <XMI.header>
          <XMI.documentation>
            <XMI.exporter>Enterprise Architect</XMI.exporter>
            <XMI.exporterVersion>2.5</XMI.exporterVersion>
          </XMI.documentation>
        </XMI.header>
        <XMI.content>
          <UML:Model name="EA Model" xmi.id="MX_EAID_9C87366E_8CFF_4b24_A828_2E3FD3410D09">
            <UML:Namespace.ownedElement>
              <UML:Class name="Invoker" xmi.id="EAID_60A83C01_D8DD_493a_919B_2547BA8F7555" visibility="public" namespace="EAPK_9C87366E_8CFF_4b24_A828_2E3FD3410D09" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class asks the command to carry out the request."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_9C87366E_8CFF_4b24_A828_2E3FD3410D09"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-07 10:59:28"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-09 11:55:48"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Command"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="ExecuteCommand" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="behaviour" value="command.Execute();"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{46940A5F-C9A5-48b8-9204-A0130152379B}"/>
                      <UML:TaggedValue tag="styleex" value="ShowBeh=0;"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-C9A5-48b8-9204-A0130152379B}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                      <UML:Parameter name="command" kind="in" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="EAID_2AE784C3_E0E2_4f9c_9AA5_AC41A27873DF"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="Command"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="classifier" value="EAID_2AE784C3_E0E2_4f9c_9AA5_AC41A27873DF"/>
                          <UML:TaggedValue tag="ea_guid" value="{D01541A7-6E90-419d-9FFB-7C4CB324396F}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                  <UML:Operation name="SetCommand" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="behaviour" value="this.command = command;"/>
                      <UML:TaggedValue tag="code" value="&#xA;"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="1"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{8443A642-7C6D-4b3d-95CE-56C2211EE6BD}"/>
                      <UML:TaggedValue tag="styleex" value="ShowBeh=0;"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-7C6D-4b3d-95CE-56C2211EE6BD}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                      <UML:Parameter name="command" kind="in" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="EAID_2AE784C3_E0E2_4f9c_9AA5_AC41A27873DF"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="Command"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="classifier" value="EAID_2AE784C3_E0E2_4f9c_9AA5_AC41A27873DF"/>
                          <UML:TaggedValue tag="ea_guid" value="{58792EFD-05C0-4766-A55E-795332618E92}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
              <UML:Association xmi.id="EAID_17835E1D_2F7A_4044_9FAB_5766204C4793" visibility="public" isRoot="false" isLeaf="false" isAbstract="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="3"/>
                  <UML:TaggedValue tag="ea_type" value="Association"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="3"/>
                  <UML:TaggedValue tag="linecolor" value="0"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="virtualInheritance" value="0"/>
                </UML:ModelElement.taggedValue>
                <UML:Association.connection>
                  <UML:AssociationEnd visibility="public" aggregation="shared" isOrdered="false" isNavigable="false" type="EAID_60A83C01_D8DD_493a_919B_2547BA8F7555">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="containment" value="Unspecified"/>
                    </UML:ModelElement.taggedValue>
                  </UML:AssociationEnd>
                  <UML:AssociationEnd visibility="private" name="command" aggregation="none" isOrdered="false" isNavigable="true" type="EAID_2AE784C3_E0E2_4f9c_9AA5_AC41A27873DF">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="containment" value="Unspecified"/>
                    </UML:ModelElement.taggedValue>
                  </UML:AssociationEnd>
                </UML:Association.connection>
              </UML:Association>
              <UML:Class name="Command" xmi.id="EAID_2AE784C3_E0E2_4f9c_9AA5_AC41A27873DF" visibility="public" namespace="EAPK_9C87366E_8CFF_4b24_A828_2E3FD3410D09" isRoot="false" isLeaf="false" isAbstract="true" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class declares an interface for executing an operation."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_9C87366E_8CFF_4b24_A828_2E3FD3410D09"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-07 10:59:56"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-11 15:39:37"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Command"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="Execute" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="isAbstract" value="1"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{76DA20DC-09B9-4055-AAD1-6945E199D854}"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-09B9-4055-AAD1-6945E199D854}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                  <UML:Operation name="Command" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="behaviour" value="this.receiver = receiver;"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="1"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{A40E9955-C7C7-4eb0-9B6C-280FFC4C7601}"/>
                      <UML:TaggedValue tag="styleex" value="ShowBeh=0;"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid1"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-C7C7-4eb0-9B6C-280FFC4C7601}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                      <UML:Parameter name="receiver" kind="in" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="EAID_64DCD887_AAC3_4c19_B4E1_5253686B0CB8"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="Receiver"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="classifier" value="EAID_64DCD887_AAC3_4c19_B4E1_5253686B0CB8"/>
                          <UML:TaggedValue tag="ea_guid" value="{6C21C7BC-CD87-4e4b-9573-E67CD42B04FD}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
              <UML:Association xmi.id="EAID_5F0B3673_FC1A_479d_A3EB_6C2F9E3370A9" visibility="public" isRoot="false" isLeaf="false" isAbstract="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="3"/>
                  <UML:TaggedValue tag="ea_type" value="Association"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="3"/>
                  <UML:TaggedValue tag="linecolor" value="-1"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="virtualInheritance" value="0"/>
                </UML:ModelElement.taggedValue>
                <UML:Association.connection>
                  <UML:AssociationEnd visibility="public" aggregation="none" isOrdered="false" isNavigable="false" type="EAID_2AE784C3_E0E2_4f9c_9AA5_AC41A27873DF">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="containment" value="Unspecified"/>
                    </UML:ModelElement.taggedValue>
                  </UML:AssociationEnd>
                  <UML:AssociationEnd visibility="protected" name="receiver" aggregation="none" isOrdered="false" isNavigable="true" type="EAID_64DCD887_AAC3_4c19_B4E1_5253686B0CB8">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="containment" value="Unspecified"/>
                    </UML:ModelElement.taggedValue>
                  </UML:AssociationEnd>
                </UML:Association.connection>
              </UML:Association>
              <UML:Generalization subtype="EAID_AA3A7B07_73B6_4d51_9F94_EFD53275CB4B" supertype="EAID_2AE784C3_E0E2_4f9c_9AA5_AC41A27873DF" xmi.id="EAID_79CCD539_07B4_48e6_A45B_2A4BDB49BAC8" visibility="public">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="1"/>
                  <UML:TaggedValue tag="ea_type" value="Generalization"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="1"/>
                  <UML:TaggedValue tag="linecolor" value="0"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="src_visibility" value="Public"/>
                  <UML:TaggedValue tag="src_aggregation" value="0"/>
                  <UML:TaggedValue tag="src_isOrdered" value="false"/>
                  <UML:TaggedValue tag="src_isNavigable" value="false"/>
                  <UML:TaggedValue tag="dst_visibility" value="Public"/>
                  <UML:TaggedValue tag="dst_aggregation" value="0"/>
                  <UML:TaggedValue tag="dst_isOrdered" value="false"/>
                  <UML:TaggedValue tag="dst_isNavigable" value="false"/>
                  <UML:TaggedValue tag="$ea_xref_property" value="$XREFPROP=$XID={C1578DEF-F032-4b50-9809-FC5E3526F59B}$XID;$NAM=CustomProperties$NAM;$TYP=connector property$TYP;$VIS=Public$VIS;$DES=@PROP=@NAME=isSubstitutable@ENDNAME;@TYPE=boolean@ENDTYPE;@VALU=@ENDVALU;@PRMT=@ENDPRMT;@ENDPROP;$DES;$CLT={79CCD539-07B4-48e6-A45B-2A4BDB49BAC8}$CLT;$SUP=&lt;none&gt;$SUP;$ENDXREF;"/>
                  <UML:TaggedValue tag="privatedata5" value="EDGE=1;"/>
                </UML:ModelElement.taggedValue>
              </UML:Generalization>
              <UML:Class name="Receiver" xmi.id="EAID_64DCD887_AAC3_4c19_B4E1_5253686B0CB8" visibility="public" namespace="EAPK_9C87366E_8CFF_4b24_A828_2E3FD3410D09" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class knows how to perform the operations associated with carrying out a request."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_9C87366E_8CFF_4b24_A828_2E3FD3410D09"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-07 11:01:18"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-09 11:55:48"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Command"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="Action" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{33ED5A1E-130A-4683-B538-CF452833C323}"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-130A-4683-B538-CF452833C323}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
              <UML:Class name="ConcreteCommand" xmi.id="EAID_AA3A7B07_73B6_4d51_9F94_EFD53275CB4B" visibility="public" namespace="EAPK_9C87366E_8CFF_4b24_A828_2E3FD3410D09" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class (a) defines a binding between a Receiver object and an action, and (b) implements Execute by invoking the corresponding operation(s) on Receiver."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_9C87366E_8CFF_4b24_A828_2E3FD3410D09"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-07 11:01:45"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-09 11:55:48"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Command"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="Execute" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="behaviour" value="receiver.Action();"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{FE304281-B732-4ef6-9FA6-B34C9EB1179F}"/>
                      <UML:TaggedValue tag="styleex" value="ShowBeh=0;"/>
                      <UML:TaggedValue tag="override" value="true" xmi.id="EAID_BC57C480_036D_4997_8166_DBC85D1C877F"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-B732-4ef6-9FA6-B34C9EB1179F}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                  <UML:Operation name="ConcreteCommand" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="1"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{9E054450-1BA7-4769-BC6E-C5F72AC96547}"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid1"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-1BA7-4769-BC6E-C5F72AC96547}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                      <UML:Parameter name="receiver" kind="in" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="EAID_64DCD887_AAC3_4c19_B4E1_5253686B0CB8"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="Receiver"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="classifier" value="EAID_64DCD887_AAC3_4c19_B4E1_5253686B0CB8"/>
                          <UML:TaggedValue tag="ea_guid" value="{9C3AC76F-2C77-47a2-81CA-D9A875CF7551}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
            </UML:Namespace.ownedElement>
          </UML:Model>
          <UML:Diagram name="Command" xmi.id="EAID_CE316E40_21BD_4316_8538_01BEAF413E8C" diagramType="ClassDiagram" owner="EAPK_CE316E40_21BD_4316_8538_01BEAF413E8C" toolName="Enterprise Architect 2.5">
            <UML:ModelElement.taggedValue>
              <UML:TaggedValue tag="documentation" value="This pattern encapsulates a request as an object, thereby letting you parameterize clients with different requests, queue or log requests, and support undoable operations."/>
              <UML:TaggedValue tag="version" value="1.0"/>
              <UML:TaggedValue tag="created_date" value="2004-12-14 13:32:11"/>
              <UML:TaggedValue tag="modified_date" value="2005-02-01 16:01:37"/>
              <UML:TaggedValue tag="package" value="EAPK_9C87366E_8CFF_4b24_A828_2E3FD3410D09"/>
              <UML:TaggedValue tag="type" value="Logical"/>
              <UML:TaggedValue tag="swimlanes" value="locked=false;orientation=0;width=0;inbar=false;names=false;color=0;bold=false;fcol=0;;cls=0;"/>
              <UML:TaggedValue tag="EAStyle" value="ShowPrivate=1;ShowProtected=1;ShowPublic=1;HideRelationships=0;Locked=0;Border=1;HighlightForeign=1;PackageContents=1;SequenceNotes=0;ScalePrintImage=0;PPgs.cx=0;PPgs.cy=0;DocSize.cx=780;DocSize.cy=1138;ShowDetails=0;Orientation=P;Zoom=100;ShowTags=0;OpParams=1;ShowIcons=1;CollabNums=0;HideProps=0;ShowReqs=0;ShowCons=0;PaperSize=9;HideParents=0;UseAlias=0;HideAtts=0;HideOps=0;HideStereo=0;HideElemStereo=0;ShowTests=0;ShowMaint=0;"/>
              <UML:TaggedValue tag="styleex" value="ExcludeRTF=0;DocAll=0;HideQuals=0;AttPkg=1;ShowTests=0;ShowMaint=0;SuppressFOC=0;TDurLow=0;TDurHigh=100;TDurUnit=;TDurHide=0;"/>
            </UML:ModelElement.taggedValue>
            <UML:Diagram.element>
              <UML:DiagramElement geometry="Left=34;Top=338;Right=199;Bottom=408;imgL=10;imgT=322;imgR=175;imgB=392;" subject="EAID_AA3A7B07_73B6_4d51_9F94_EFD53275CB4B" seqno="1" style="DUID=9B561386;LBL=;"/>
              <UML:DiagramElement geometry="Left=71;Top=26;Right=161;Bottom=96;imgL=47;imgT=10;imgR=137;imgB=80;" subject="EAID_64DCD887_AAC3_4c19_B4E1_5253686B0CB8" seqno="2" style="DUID=065A8996;LBL=;"/>
              <UML:DiagramElement geometry="Left=56;Top=172;Right=179;Bottom=260;imgL=32;imgT=156;imgR=155;imgB=244;" subject="EAID_2AE784C3_E0E2_4f9c_9AA5_AC41A27873DF" seqno="3" style="DUID=25AD74EB;LBL=;"/>
              <UML:DiagramElement geometry="Left=269;Top=173;Right=467;Bottom=261;imgL=245;imgT=157;imgR=443;imgB=245;" subject="EAID_60A83C01_D8DD_493a_919B_2547BA8F7555" seqno="4" style="DUID=ECF4B2CA;LBL=;"/>
              <UML:DiagramElement geometry="EDGE=1;$LLB=;LLT=;LMT=;LMB=;LRT=CX=53:CY=15:OX=0:OY=0:HDN=0:BLD=0:ITA=0:UND=0:CLR=-1:ALN=0:DIR=0:ROT=0;LRB=;Path=;" subject="EAID_5F0B3673_FC1A_479d_A3EB_6C2F9E3370A9" style="Mode=3;EOID=065A8996;SOID=25AD74EB;Hidden=0;"/>
              <UML:DiagramElement geometry="EDGE=4;$LLB=;LLT=;LMT=;LMB=;LRT=CX=60:CY=15:OX=1:OY=-5:HDN=0:BLD=0:ITA=0:UND=0:CLR=-1:ALN=0:DIR=0:ROT=0;LRB=;Path=;" subject="EAID_17835E1D_2F7A_4044_9FAB_5766204C4793" style="Mode=3;EOID=25AD74EB;SOID=ECF4B2CA;Hidden=0;"/>
              <UML:DiagramElement geometry="EDGE=1;$LLB=;LLT=;LMT=;LMB=;LRT=;LRB=;Path=;" subject="EAID_79CCD539_07B4_48e6_A45B_2A4BDB49BAC8" style="Mode=1;EOID=25AD74EB;SOID=9B561386;Hidden=0;"/>
            </UML:Diagram.element>
          </UML:Diagram>
        </XMI.content>
        <XMI.difference/>
        <XMI.extensions xmi.extender="Enterprise Architect 2.5">
          <EAStub xmi.id="EAID_60A83C01_D8DD_493a_919B_2547BA8F7555" name="Invoker" UMLType="Class"/>
          <EAStub xmi.id="EAID_2AE784C3_E0E2_4f9c_9AA5_AC41A27873DF" name="Command" UMLType="Class"/>
          <EAStub xmi.id="EAID_64DCD887_AAC3_4c19_B4E1_5253686B0CB8" name="Receiver" UMLType="Class"/>
          <EAStub xmi.id="EAID_AA3A7B07_73B6_4d51_9F94_EFD53275CB4B" name="ConcreteCommand" UMLType="Class"/>
          <UMLPattern name="Command" category="GoF Behavioral Patterns" version="1.0" notes="This pattern encapsulates a request as an object, thereby letting you parameterize clients with different requests, queue or log requests, and support undoable operations.">
            <UMLPattern.PromptList>
              <Element name="ConcreteCommand:Class" guid="EAID_AA3A7B07_73B6_4d51_9F94_EFD53275CB4B" id="593" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class (a) defines a binding between a Receiver object and an action, and (b) implements Execute by invoking the corresponding operation(s) on Receiver.">
                  <![CDATA[This class (a) defines a binding between a Receiver object and an action, and (b) implements Execute by invoking the corresponding operation(s) on Receiver.]]>
                </Comment>
              </Element>
              <Element name="Receiver:Class" guid="EAID_64DCD887_AAC3_4c19_B4E1_5253686B0CB8" id="592" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class knows how to perform the operations associated with carrying out a request.">
                  <![CDATA[This class knows how to perform the operations associated with carrying out a request.]]>
                </Comment>
              </Element>
              <Element name="Command:Class" guid="EAID_2AE784C3_E0E2_4f9c_9AA5_AC41A27873DF" id="591" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class declares an interface for executing an operation.">
                  <![CDATA[This class declares an interface for executing an operation.]]>
                </Comment>
              </Element>
              <Element name="Invoker:Class" guid="EAID_60A83C01_D8DD_493a_919B_2547BA8F7555" id="590" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class asks the command to carry out the request.">
                  <![CDATA[This class asks the command to carry out the request.]]>
                </Comment>
              </Element>
            </UMLPattern.PromptList>
            <UMLPattern.PreviewImage xmlns:dt="urn:schemas-microsoft-com:datatypes" dt:dt="bin.base64" cx="12740" cy="11384">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 AwAAAAUAAAAGAAAAAwAAAAYAAAAlAAAADAAAAAEAAAAlAAAADAAAAAEAAABUAAAAWAAAACUA AADMAAAALgAAANgAAAABAAAAAADhQQCQ4sE9AAAAJP///wIAAABMAAAAAAAAAAAAAAAAAAAA //////////9QAAAAKwAgAAYAAAADAAAAVAAAALQAAAA2AAAAzAAAAJYAAADYAAAAAQAAAAAA 4UEAkOLBTgAAACT///8RAAAATAAAAAAAAAAAAAAAAAAAAP//////////cAAAAEMAbwBtAG0A YQBuAGQAKABSAGUAYwBlAGkAdgBlAHIAKQAAAAcAAAAGAAAACQAAAAkAAAAGAAAABgAAAAYA AAADAAAABwAAAAYAAAAFAAAABgAAAAMAAAAFAAAABgAAAAMAAAADAAAAGAAAAAwAAAAAAAAA JwAAABgAAAAHAAAAAAAAAMC/wAAAAAAAJQAAAAwAAAAHAAAAJgAAABwAAAAIAAAAAAAAAAEA AAAAAAAAwL/AACUAAAAMAAAACAAAACsAAAAYAAAASgAAAOP///+jAAAAnv///yUAAAAMAAAA AgAAACgAAAAMAAAABwAAACUAAAAMAAAAAwAAACgAAAAMAAAACAAAACsAAAAYAAAARwAAAOb/ //+gAAAAof///yUAAAAMAAAABQAAAFQAAAB8AAAARQAAABMAAAByAAAAHgAAAAEAAAAAAOFB AJDiwV0AAADd////CAAAAEwAAAAAAAAAAAAAAAAAAAD//////////1wAAABSAGUAYwBlAGkA dgBlAHIABwAAAAYAAAAGAAAABgAAAAMAAAAHAAAABgAAAAQAAAAlAAAADAAAAAEAAAAbAAAA EAAAAEcAAADL////NgAAABAAAACgAAAAy////xgAAAAMAAAAAACAABgAAAAMAAAAAAAAABgA AAAMAAAAAEBAAFQAAABYAAAANAAAAC0AAAA9AAAAOQAAAAEAAAAAAOFBAJDiwUwAAADD//// AgAAAEwAAAAAAAAAAAAAAAAAAAD//////////1AAAAArACAABgAAAAMAAABUAAAAqAAAAEUA AAAtAAAAhgAAADkAAAABAAAAAADhQQCQ4sFdAAAAw////w8AAABMAAAAAAAAAAAAAAAAAAAA //////////9sAAAAQQBjAHQAaQBvAG4AKAApACAAOgAgAHYAbwBpAGQAAAAHAAAABQAAAAMA AAADAAAABgAAAAYAAAADAAAAAwAAAAMAAAADAAAAAwAAAAUAAAAGAAAAAwAAAAYAAAAYAAAA DAAAAAAAAAAnAAAAGAAAAAgAAAAAAAAAwL/AAAAAAAAlAAAADAAAAAgAAAAmAAAAHAAAAAcA AAAAAAAAAQAAAAAAAADAv8AAJQAAAAwAAAAHAAAAKwAAABgAAAAlAAAAq/7//8kAAABm/v// JQAAAAwAAAACAAAAKAAAAAwAAAAIAAAAJQAAAAwAAAADAAAAKAAAAAwAAAAHAAAAKwAAABgA AAAiAAAArv7//8YAAABp/v//JQAAAAwAAAAFAAAAVAAAAKgAAAAuAAAASwEAAIsAAABWAQAA AQAAAAAA4UEAkOLBRgAAAKX+//8PAAAATAAAAAAAAAAAAAAAAAAAAP//////////bAAAAEMA bwBuAGMAcgBlAHQAZQBDAG8AbQBtAGEAbgBkAAAABwAAAAYAAAAGAAAABgAAAAQAAAAGAAAA AwAAAAYAAAAHAAAABgAAAAkAAAAJAAAABgAAAAYAAAAGAAAAJQAAAAwAAAABAAAAGwAAABAA AAAiAAAAk/7//zYAAAAQAAAAxgAAAJP+//8YAAAADAAAAAAAgAAYAAAADAAAAAAAAAAYAAAA DAAAAABAQABUAAAAWAAAAA8AAABlAQAAGAAAAHEBAAABAAAAAADhQQCQ4sEnAAAAi/7//wIA AABMAAAAAAAAAAAAAAAAAAAA//////////9QAAAAKwAgAAYAAAADAAAAVAAAAKwAAAAgAAAA ZQEAAGkAAABxAQAAAQAAAAAA4UEAkOLBOAAAAIv+//8QAAAATAAAAAAAAAAAAAAAAAAAAP// ////////bAAAAEUAeABlAGMAdQB0AGUAKAApACAAOgAgAHYAbwBpAGQABwAAAAUAAAAGAAAA BQAAAAYAAAADAAAABgAAAAMAAAADAAAAAwAAAAMAAAADAAAABQAAAAYAAAADAAAABgAAAFQA AABYAAAADwAAAHIBAAAYAAAAfgEAAAEAAAAAAOFBAJDiwScAAAB+/v//AgAAAEwAAAAAAAAA AAAAAAAAAAD//////////1AAAAArACAABgAAAAMAAABUAAAA5AAAACAAAAByAQAAqgAAAH4B AAABAAAAAADhQQCQ4sE4AAAAfv7//xkAAABMAAAAAAAAAAAAAAAAAAAA//////////+AAAAA QwBvAG4AYwByAGUAdABlAEMAbwBtAG0AYQBuAGQAKABSAGUAYwBlAGkAdgBlAHIAKQAAAAcA AAAGAAAABgAAAAUAAAADAAAABgAAAAMAAAAGAAAABwAAAAYAAAAJAAAACQAAAAYAAAAGAAAA BgAAAAMAAAAHAAAABgAAAAUAAAAGAAAAAwAAAAUAAAAGAAAAAwAAAAMAAAAYAAAADAAAAAAA AAAmAAAAHAAAAAcAAAAAAAAAAQAAAAAAAAAAAAAAJQAAAAwAAAAHAAAAGwAAABAAAAB0AAAA VP///zYAAAAQAAAAdAAAAKD///8bAAAAEAAAAHQAAACg////GwAAABAAAAB0AAAAoP///zYA AAAQAAAAegAAAJL///8bAAAAEAAAAHQAAACg////NgAAABAAAABvAAAAkv///xIAAAAMAAAA AgAAABkAAAAMAAAA////AFIAAABwAQAACAAAAPb///8AAAAAAAAAAAAAAAAAAAAAAAAAAQAA AABBAFIASQBBAEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAASAAAAAAAAAAAAhOcSAKznEgC3LJF88C8iAJju7gCM5xIAAAAAAI6g gHwAAEAAmO7uAIznEgCloIB8+OcSANKPAAAAAAAAEAAAAAUAAAD85xIA/wAAAMDnEgClAtV3 POgSAP8AAADY5xIAbHMOAQoAAAD1Gd1zAADqc0AAAAAAAAAAUOkSAAAAAABo5epzvOcSAFjp EgAX7+Zz/////7joEgCeJt1zBQAAAFDpEgBQ6RIABQAAAAAAEgA/Qt1zAAAlDjzoEgAFAAAA POgSAFDpEgAXQt1zBQAAADzoEgAFAAAAAAEAAA5K3XM86BIAAAAAAFxK3XNkdgAIAAAAAGR2 AAgAAAAAJQAAAAwAAAAIAAAAVAAAAIQAAAApAAAAVQAAAFQAAABhAAAAAQAAAAAA4UEAkOLB QQAAAJv///8JAAAATAAAAAAAAAAAAAAAAAAAAP//////////YAAAACMAcgBlAGMAZQBpAHYA ZQByAAAABgAAAAMAAAAGAAAABQAAAAYAAAADAAAABQAAAAYAAAADAAAAJQAAAAwAAAABAAAA KAAAAAwAAAAIAAAAEgAAAAwAAAABAAAAGQAAAAwAAAD///8AJQAAAAwAAAADAAAAKAAAAAwA AAAHAAAAJgAAABwAAAAHAAAAAAAAAAEAAAAAAAAAAAAAACUAAAAMAAAABwAAABsAAAAQAAAA DQEAACj///82AAAAEAAAALMAAAAo////VgAAACwAAADhAAAAwwAAAPUAAADNAAAABAAAAAMB I/8NASj/AwEt//kAKP8bAAAAEAAAALMAAAAo////GwAAABAAAACzAAAAKP///zYAAAAQAAAA wgAAAC7///8bAAAAEAAAALMAAAAo////NgAAABAAAADCAAAAIv///xIAAAAMAAAAAgAAABkA AAAMAAAA////AFIAAABwAQAACAAAAPb///8AAAAAAAAAAAAAAAAAAAAAAAAAAQAAAABBAFIA SQBBAEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAASAAAAAAAAAAAAhOcSAKznEgC3LJF88C8iAJju7gCM5xIAAAAAAI6ggHwAAEAA mO7uAIznEgCloIB8+OcSANKPAAAAAAAAEAAAAAUAAAD85xIA/wAAAMDnEgClAtV3POgSAP8A AADY5xIAbHMOAQoAAAD1Gd1zAADqc0AAAAAAAAAAUOkSAAAAAABo5epzvOcSAFjpEgAX7+Zz /////7joEgCeJt1zBQAAAFDpEgBQ6RIABQAAAAAAEgA/Qt1zAAAlDjzoEgAFAAAAPOgSAFDp EgAXQt1zBQAAADzoEgAFAAAAAAEAAA5K3XM86BIAAAAAAFxK3XNkdgAIAAAAAGR2AAgAAAAA JQAAAAwAAAAIAAAAVAAAAHwAAACfAAAAsQAAANEAAAC9AAAAAQAAAAAA4UEAkOLBtwAAAD// //8IAAAATAAAAAAAAAAAAAAAAAAAAP//////////XAAAAC0AYwBvAG0AbQBhAG4AZAADAAAA BQAAAAYAAAAJAAAACQAAAAYAAAAGAAAABgAAACUAAAAMAAAAAQAAACgAAAAMAAAACAAAABIA AAAMAAAAAQAAABkAAAAMAAAA////ACUAAAAMAAAAAwAAACgAAAAMAAAABwAAACYAAAAcAAAA BwAAAAAAAAABAAAAAAAAAAAAAAAlAAAADAAAAAcAAAAbAAAAEAAAAHQAAACu/v//NgAAABAA AAB0AAAA/P7//xsAAAAQAAAAdAAAAPz+//9WAAAAKAAAAFcAAAD0AAAAYgAAAAMBAAADAAAA egDt/m8A7f50APz+EgAAAAwAAAACAAAAGQAAAAwAAAD///8AEgAAAAwAAAABAAAAGQAAAAwA AAD///8AJQAAAAwAAAADAAAAKAAAAAwAAAAHAAAAJQAAAAwAAAANAACAKAAAAAwAAAABAAAA KAAAAAwAAAAFAAAAJQAAAAwAAAAAAACAKAAAAAwAAAACAAAAJQAAAAwAAAAHAACAKAAAAAwA AAADAAAADgAAABQAAAAAAAAAEAAAABQAAAA=</UMLPattern.PreviewImage>
          </UMLPattern>
        </XMI.extensions>
      </XMI>
    </UMLPattern>
    <UMLPattern>
      <XMI xmi.version="1.1" xmlns:UML="omg.org/UML1.3" timestamp="2005-02-11 15:20:29">
        <XMI.header>
          <XMI.documentation>
            <XMI.exporter>Enterprise Architect</XMI.exporter>
            <XMI.exporterVersion>2.5</XMI.exporterVersion>
          </XMI.documentation>
        </XMI.header>
        <XMI.content>
          <UML:Model name="EA Model" xmi.id="MX_EAID_B4B45BFE_DDA4_4781_B556_EBAD62AB72ED">
            <UML:Namespace.ownedElement>
              <UML:Class name="Component" xmi.id="EAID_1175DB1A_7E19_408d_9072_1496A6C128A0" visibility="public" namespace="EAPK_B4B45BFE_DDA4_4781_B556_EBAD62AB72ED" isRoot="false" isLeaf="false" isAbstract="true" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class (a) declares the interface for objects in the composition, (b) implements default behaviour for the interface common to all classes, as appropriate, (c) declares an interface for accessing and managing its child components, and (d) optionally defines an interface for accessing a component's parent in the recursive structure and implements it if that's appropriate."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_B4B45BFE_DDA4_4781_B556_EBAD62AB72ED"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-06 22:15:30"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-08 16:07:23"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Composite"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="Add" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="isAbstract" value="1"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{50BC46C8-8889-4fb3-A133-BECFF9F4BE60}"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-8889-4fb3-A133-BECFF9F4BE60}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                      <UML:Parameter name="component" kind="in" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="EAID_1175DB1A_7E19_408d_9072_1496A6C128A0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="Component"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="classifier" value="EAID_1175DB1A_7E19_408d_9072_1496A6C128A0"/>
                          <UML:TaggedValue tag="ea_guid" value="{31E4974C-2AF9-47cc-887C-7FE12E9AEBF6}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                  <UML:Operation name="Remove" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="isAbstract" value="1"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="1"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{A104711A-030D-48e6-BEE7-6C46F07527A6}"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-030D-48e6-BEE7-6C46F07527A6}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                      <UML:Parameter name="component" kind="in" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="EAID_1175DB1A_7E19_408d_9072_1496A6C128A0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="Component"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="classifier" value="EAID_1175DB1A_7E19_408d_9072_1496A6C128A0"/>
                          <UML:TaggedValue tag="ea_guid" value="{E65AAF46-56E8-4ec5-AF2E-29EBF1AD5DE0}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
              <UML:Generalization subtype="EAID_5F7C6BB9_2536_4de2_9FE6_C08C37180A9C" supertype="EAID_1175DB1A_7E19_408d_9072_1496A6C128A0" xmi.id="EAID_4CF39C0F_B4F4_4cab_8EDE_3320577763C3" visibility="public">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="3"/>
                  <UML:TaggedValue tag="ea_type" value="Generalization"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="3"/>
                  <UML:TaggedValue tag="linecolor" value="-1"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="subtype" value="Tree"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="src_visibility" value="Public"/>
                  <UML:TaggedValue tag="src_aggregation" value="0"/>
                  <UML:TaggedValue tag="src_isOrdered" value="false"/>
                  <UML:TaggedValue tag="src_isNavigable" value="false"/>
                  <UML:TaggedValue tag="src_containment" value="Unspecified"/>
                  <UML:TaggedValue tag="dst_visibility" value="Public"/>
                  <UML:TaggedValue tag="dst_aggregation" value="0"/>
                  <UML:TaggedValue tag="dst_isOrdered" value="false"/>
                  <UML:TaggedValue tag="dst_isNavigable" value="true"/>
                  <UML:TaggedValue tag="dst_containment" value="Unspecified"/>
                  <UML:TaggedValue tag="$ea_xref_property" value="$XREFPROP=$XID={AE1D3144-85F0-425a-9A90-AF3AC53CF355}$XID;$NAM=CustomProperties$NAM;$TYP=connector property$TYP;$VIS=Public$VIS;$DES=@PROP=@NAME=isSubstitutable@ENDNAME;@TYPE=boolean@ENDTYPE;@VALU=@ENDVALU;@PRMT=@ENDPRMT;@ENDPROP;$DES;$CLT={4CF39C0F-B4F4-4cab-8EDE-3320577763C3}$CLT;$SUP=&lt;none&gt;$SUP;$ENDXREF;"/>
                  <UML:TaggedValue tag="privatedata5" value="SX=0;SY=0;"/>
                  <UML:TaggedValue tag="virtualInheritance" value="0"/>
                </UML:ModelElement.taggedValue>
              </UML:Generalization>
              <UML:Association xmi.id="EAID_5FD00F9D_3FA3_41b4_8DFE_35F8B9C8DB83" visibility="public" isRoot="false" isLeaf="false" isAbstract="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="3"/>
                  <UML:TaggedValue tag="ea_type" value="Association"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="3"/>
                  <UML:TaggedValue tag="linecolor" value="0"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="privatedata5" value="SX=78;SY=17;EX=67;EY=17;"/>
                  <UML:TaggedValue tag="virtualInheritance" value="0"/>
                </UML:ModelElement.taggedValue>
                <UML:Association.connection>
                  <UML:AssociationEnd visibility="private" aggregation="shared" isOrdered="false" isNavigable="false" type="EAID_117F4125_D8E9_4a72_9B0F_EBC089A8A68B">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="containment" value="Unspecified"/>
                    </UML:ModelElement.taggedValue>
                  </UML:AssociationEnd>
                  <UML:AssociationEnd visibility="private" multiplicity="1..*" name="children" aggregation="none" isOrdered="false" isNavigable="true" type="EAID_1175DB1A_7E19_408d_9072_1496A6C128A0">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="containment" value="Unspecified"/>
                    </UML:ModelElement.taggedValue>
                  </UML:AssociationEnd>
                </UML:Association.connection>
              </UML:Association>
              <UML:Generalization subtype="EAID_117F4125_D8E9_4a72_9B0F_EBC089A8A68B" supertype="EAID_1175DB1A_7E19_408d_9072_1496A6C128A0" xmi.id="EAID_C75E19B5_3318_4e15_AB5A_B3C558DA472A" visibility="public">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="3"/>
                  <UML:TaggedValue tag="ea_type" value="Generalization"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="3"/>
                  <UML:TaggedValue tag="linecolor" value="0"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="subtype" value="Tree"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="src_visibility" value="Public"/>
                  <UML:TaggedValue tag="src_aggregation" value="0"/>
                  <UML:TaggedValue tag="src_isOrdered" value="false"/>
                  <UML:TaggedValue tag="src_isNavigable" value="false"/>
                  <UML:TaggedValue tag="dst_visibility" value="Public"/>
                  <UML:TaggedValue tag="dst_aggregation" value="0"/>
                  <UML:TaggedValue tag="dst_isOrdered" value="false"/>
                  <UML:TaggedValue tag="dst_isNavigable" value="false"/>
                  <UML:TaggedValue tag="privatedata5" value="SX=0;SY=0;"/>
                </UML:ModelElement.taggedValue>
              </UML:Generalization>
              <UML:Class name="Leaf" xmi.id="EAID_5F7C6BB9_2536_4de2_9FE6_C08C37180A9C" visibility="public" namespace="EAPK_B4B45BFE_DDA4_4781_B556_EBAD62AB72ED" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class (a) represents leaf objects in the composition, and (b) defines behaviour for primitive objects in the composition."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_B4B45BFE_DDA4_4781_B556_EBAD62AB72ED"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-06 22:29:59"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-11 14:58:20"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Composite"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="Add" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="behaviour" value="// cannot add to a leaf"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{4172D8CA-9B42-4012-84A5-2EFBBBE51EFF}"/>
                      <UML:TaggedValue tag="styleex" value="ShowBeh=0;"/>
                      <UML:TaggedValue tag="override" value="true" xmi.id="EAID_0F799BD6_B5BC_42c0_BF3C_6FDBFA064C46"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-9B42-4012-84A5-2EFBBBE51EFF}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                      <UML:Parameter name="component" kind="in" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="EAID_1175DB1A_7E19_408d_9072_1496A6C128A0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="Component"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="classifier" value="EAID_1175DB1A_7E19_408d_9072_1496A6C128A0"/>
                          <UML:TaggedValue tag="ea_guid" value="{AB923951-7575-4c07-9400-2D271F836085}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                  <UML:Operation name="Remove" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="behaviour" value="// cannot remove from a leaf"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="1"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{093339B8-DF0E-40b4-89B5-BDDA4C90BA56}"/>
                      <UML:TaggedValue tag="styleex" value="ShowBeh=0;"/>
                      <UML:TaggedValue tag="override" value="true" xmi.id="EAID_491F119D_E788_4664_B08B_B42CA18D57A1"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-DF0E-40b4-89B5-BDDA4C90BA56}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                      <UML:Parameter name="component" kind="in" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="EAID_1175DB1A_7E19_408d_9072_1496A6C128A0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="Component"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="classifier" value="EAID_1175DB1A_7E19_408d_9072_1496A6C128A0"/>
                          <UML:TaggedValue tag="ea_guid" value="{2AE060E7-604C-4b32-A217-FEF17CEEB455}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
              <UML:Class name="Composite" xmi.id="EAID_117F4125_D8E9_4a72_9B0F_EBC089A8A68B" visibility="public" namespace="EAPK_B4B45BFE_DDA4_4781_B556_EBAD62AB72ED" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class (a) defines behaviour for components having children, (b) stores child components, and (c) implements child-related operations in the Component interface."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_B4B45BFE_DDA4_4781_B556_EBAD62AB72ED"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-06 22:30:24"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-11 14:58:20"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Composite"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="Add" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="behaviour" value="children.addElement( component );"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{EC9563C4-8E89-4eed-8D16-632D79BFD409}"/>
                      <UML:TaggedValue tag="styleex" value="ShowBeh=0;"/>
                      <UML:TaggedValue tag="override" value="true" xmi.id="EAID_1B0EE502_5370_43fa_9455_43DC63C5A129"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-8E89-4eed-8D16-632D79BFD409}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                      <UML:Parameter name="component" kind="in" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="EAID_1175DB1A_7E19_408d_9072_1496A6C128A0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="Component"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="classifier" value="EAID_1175DB1A_7E19_408d_9072_1496A6C128A0"/>
                          <UML:TaggedValue tag="ea_guid" value="{D2851476-F1EE-41bb-A1E3-FFB31C65269C}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                  <UML:Operation name="Remove" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="behaviour" value="children.removeElement( component );"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="1"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{8254D01A-F0CB-4654-A564-B256E91F8952}"/>
                      <UML:TaggedValue tag="styleex" value="ShowBeh=0;"/>
                      <UML:TaggedValue tag="override" value="true" xmi.id="EAID_6DAFAC0F_A1A1_4aab_AEB9_7708C42FEEF3"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-F0CB-4654-A564-B256E91F8952}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                      <UML:Parameter name="component" kind="in" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="EAID_1175DB1A_7E19_408d_9072_1496A6C128A0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="Component"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="classifier" value="EAID_1175DB1A_7E19_408d_9072_1496A6C128A0"/>
                          <UML:TaggedValue tag="ea_guid" value="{AD0C8EF1-50EC-4021-8944-72BC3BDBFB39}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
            </UML:Namespace.ownedElement>
          </UML:Model>
          <UML:Diagram name="Composite" xmi.id="EAID_17CB0C5F_E022_43ad_8D17_1BC8641C8A34" diagramType="ClassDiagram" owner="EAPK_17CB0C5F_E022_43ad_8D17_1BC8641C8A34" toolName="Enterprise Architect 2.5">
            <UML:ModelElement.taggedValue>
              <UML:TaggedValue tag="documentation" value="This pattern composes objects into tree structures to represent part-whole hierarchies. It lets clients treat individual objects and compositions of objects uniformly."/>
              <UML:TaggedValue tag="version" value="1.0"/>
              <UML:TaggedValue tag="created_date" value="2004-12-14 13:31:53"/>
              <UML:TaggedValue tag="modified_date" value="2005-02-11 14:58:20"/>
              <UML:TaggedValue tag="package" value="EAPK_B4B45BFE_DDA4_4781_B556_EBAD62AB72ED"/>
              <UML:TaggedValue tag="type" value="Logical"/>
              <UML:TaggedValue tag="swimlanes" value="locked=false;orientation=0;width=0;inbar=false;names=false;color=0;bold=false;fcol=0;;cls=0;"/>
              <UML:TaggedValue tag="EAStyle" value="ShowPrivate=1;ShowProtected=1;ShowPublic=1;HideRelationships=0;Locked=0;Border=1;HighlightForeign=1;PackageContents=1;SequenceNotes=0;ScalePrintImage=0;PPgs.cx=0;PPgs.cy=0;DocSize.cx=780;DocSize.cy=1138;ShowDetails=0;Orientation=P;Zoom=100;ShowTags=0;OpParams=1;ShowIcons=1;CollabNums=0;HideProps=0;ShowReqs=0;ShowCons=0;PaperSize=9;HideParents=0;UseAlias=0;HideAtts=0;HideOps=0;HideStereo=0;HideElemStereo=0;ShowTests=0;ShowMaint=0;"/>
              <UML:TaggedValue tag="styleex" value="ExcludeRTF=0;DocAll=0;HideQuals=0;AttPkg=1;ShowTests=0;ShowMaint=0;SuppressFOC=0;TDurLow=0;TDurHigh=100;TDurUnit=;TDurHide=0;"/>
            </UML:ModelElement.taggedValue>
            <UML:Diagram.element>
              <UML:DiagramElement geometry="Left=228;Top=218;Right=384;Bottom=297;imgL=198;imgT=173;imgR=354;imgB=252;" subject="EAID_117F4125_D8E9_4a72_9B0F_EBC089A8A68B" seqno="1" style="DUID=C27D42A6;LBL=;"/>
              <UML:DiagramElement geometry="Left=40;Top=218;Right=196;Bottom=297;imgL=10;imgT=173;imgR=166;imgB=252;" subject="EAID_5F7C6BB9_2536_4de2_9FE6_C08C37180A9C" seqno="2" style="DUID=7766D97F;LBL=;"/>
              <UML:DiagramElement geometry="Left=137;Top=55;Right=289;Bottom=147;imgL=107;imgT=10;imgR=259;imgB=102;" subject="EAID_1175DB1A_7E19_408d_9072_1496A6C128A0" seqno="3" style="DUID=65AAF005;LBL=;"/>
              <UML:DiagramElement geometry="SX=0;SY=0;EDGE=1;$LLB=;LLT=;LMT=;LMB=;LRT=;LRB=;Path=306:-197$213:-197$;" subject="EAID_C75E19B5_3318_4e15_AB5A_B3C558DA472A" style="Mode=3;EOID=65AAF005;SOID=C27D42A6;Hidden=0;"/>
              <UML:DiagramElement geometry="SX=1;SY=2;EX=1;EY=1;EDGE=2;$LLB=;LLT=;LMT=;LMB=;LRT=CX=51:CY=15:OX=0:OY=0:HDN=0:BLD=0:ITA=0:UND=0:CLR=-1:ALN=0:DIR=0:ROT=0;LRB=CX=26:CY=15:OX=0:OY=0:HDN=0:BLD=0:ITA=0:UND=0:CLR=-1:ALN=0:DIR=0:ROT=0;Path=444:-254$444:-99$;" subject="EAID_5FD00F9D_3FA3_41b4_8DFE_35F8B9C8DB83" style="Mode=3;EOID=65AAF005;SOID=C27D42A6;Hidden=0;"/>
              <UML:DiagramElement geometry="SX=0;SY=0;EDGE=1;$LLB=;LLT=;LMT=;LMB=;LRT=;LRB=;Path=118:-197$213:-197$;" subject="EAID_4CF39C0F_B4F4_4cab_8EDE_3320577763C3" style="Mode=3;EOID=65AAF005;SOID=7766D97F;Hidden=0;"/>
            </UML:Diagram.element>
          </UML:Diagram>
        </XMI.content>
        <XMI.difference/>
        <XMI.extensions xmi.extender="Enterprise Architect 2.5">
          <EAStub xmi.id="EAID_5F7C6BB9_2536_4de2_9FE6_C08C37180A9C" name="Leaf" UMLType="Class"/>
          <EAStub xmi.id="EAID_1175DB1A_7E19_408d_9072_1496A6C128A0" name="Component" UMLType="Class"/>
          <EAStub xmi.id="EAID_117F4125_D8E9_4a72_9B0F_EBC089A8A68B" name="Composite" UMLType="Class"/>
          <UMLPattern name="Composite" category="GoF Structural Patterns" version="1.0" notes="This pattern composes objects into tree structures to represent part-whole hierarchies. It lets clients treat individual objects and compositions of objects uniformly.">
            <UMLPattern.PromptList>
              <Element name="Composite:Class" guid="EAID_117F4125_D8E9_4a72_9B0F_EBC089A8A68B" id="860" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class (a) defines behaviour for components having children, (b) stores child components, and (c) implements child-related operations in the Component interface.">
                  <![CDATA[This class (a) defines behaviour for components having children, (b) stores child components, and (c) implements child-related operations in the Component interface.]]>
                </Comment>
              </Element>
              <Element name="Leaf:Class" guid="EAID_5F7C6BB9_2536_4de2_9FE6_C08C37180A9C" id="859" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class (a) represents leaf objects in the composition, and (b) defines behaviour for primitive objects in the composition.">
                  <![CDATA[This class (a) represents leaf objects in the composition, and (b) defines behaviour for primitive objects in the composition.]]>
                </Comment>
              </Element>
              <Element name="Component:Class" guid="EAID_1175DB1A_7E19_408d_9072_1496A6C128A0" id="857" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class (a) declares the interface for objects in the composition, (b) implements default behaviour for the interface common to all classes, as appropriate, (c) declares an interface for accessing and managing its child components, and (d) optionally defines an interface for accessing a component's parent in the recursive structure and implements it if that's appropriate.">
                  <![CDATA[This class (a) declares the interface for objects in the composition, (b) implements default behaviour for the interface common to all classes, as appropriate, (c) declares an interface for accessing and managing its child components, and (d) optionally defines an interface for accessing a component's parent in the recursive structure and implements it if that's appropriate.]]>
                </Comment>
              </Element>
            </UMLPattern.PromptList>
            <UMLPattern.PreviewImage xmlns:dt="urn:schemas-microsoft-com:datatypes" dt:dt="bin.base64" cx="12065" cy="7419">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 AABBAGQAZAAoAEMAbwBtAHAAbwBuAGUAbgB0ACkAIAA6ACAAdgBvAGkAZAAAAAcAAAAGAAAA BgAAAAMAAAAHAAAABgAAAAkAAAAGAAAABgAAAAYAAAAGAAAABgAAAAMAAAADAAAAAwAAAAMA AAADAAAABQAAAAYAAAADAAAABgAAAFQAAABYAAAAywAAAN0AAADUAAAA6QAAAAEAAAAAAOFB AJDiwekAAAD2/v//AgAAAEwAAAAAAAAAAAAAAAAAAAD//////////1AAAAArACAABgAAAAMA AABUAAAA3AAAANwAAADdAAAAXQEAAOkAAAABAAAAAADhQQCQ4sH6AAAA9v7//xgAAABMAAAA AAAAAAAAAAAAAAAA//////////98AAAAUgBlAG0AbwB2AGUAKABDAG8AbQBwAG8AbgBlAG4A dAApACAAOgAgAHYAbwBpAGQABwAAAAYAAAAJAAAABgAAAAUAAAAGAAAAAwAAAAcAAAAGAAAA CQAAAAYAAAAGAAAABgAAAAYAAAAGAAAAAwAAAAMAAAADAAAAAwAAAAMAAAAFAAAABgAAAAMA AAAGAAAAGAAAAAwAAAAAAAAAJgAAABwAAAAIAAAAAAAAAAEAAAAAAAAAAAAAACUAAAAMAAAA CAAAABsAAAAQAAAAMgEAACb///82AAAAEAAAADIBAAA7////NgAAABAAAADVAAAAO////zYA AAAQAAAA1QAAAG3///8bAAAAEAAAANUAAABt////VgAAACgAAACyAAAAZgAAAL0AAAB1AAAA AwAAANsAXv/QAF7/1QBt/xIAAAAMAAAAAgAAABkAAAAMAAAA////ABIAAAAMAAAAAQAAABkA AAAMAAAA////ACUAAAAMAAAAAwAAACgAAAAMAAAACAAAACYAAAAcAAAACAAAAAAAAAABAAAA AAAAAAAAAAAlAAAADAAAAAgAAAAbAAAAEAAAAIABAAAC////NgAAABAAAAC8AQAAAv///zYA AAAQAAAAvAEAAJ3///82AAAAEAAAACEBAACd////VgAAACwAAABiAQAAzQAAAHYBAADVAAAA BAAAAIoBBv+AAQL/iQH+/pQBAv8bAAAAEAAAACEBAACd////GwAAABAAAAAhAQAAnf///zYA AAAQAAAAMAEAAKP///8bAAAAEAAAACEBAACd////NgAAABAAAAAwAQAAl////xIAAAAMAAAA AgAAABkAAAAMAAAA////AFIAAABwAQAABgAAAPb///8AAAAAAAAAAAAAAAAAAAAAAAAAAQAA AABBAFIASQBBAEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAASAAAAAAAAAAAAhOcSAKznEgC3LJF88C8iAJju7gCM5xIAAAAAAI6g gHwAAEAAmO7uAIznEgCloIB8+OcSANKPAAAAAAAAEAAAAAUAAAD85xIA/wAAAMDnEgClAtV3 POgSAP8AAADY5xIAbHMOAQoAAAD1Gd1zAADqc0AAAAAAAAAAUOkSAAAAAABo5epzvOcSAFjp EgAX7+Zz/////7joEgCeJt1zBQAAAFDpEgBQ6RIABQAAAAAAEgA/Qt1zAAAhDjzoEgAFAAAA POgSAFDpEgAXQt1zBQAAADzoEgAFAAAAAAEAAA5K3XM86BIAAAAAAFxK3XNkdgAIAAAAAGR2 AAgAAAAAJQAAAAwAAAAGAAAAVAAAAGQAAAAGAQAAOwAAABYBAABHAAAAAQAAAAAA4UEAkOLB JAEAAJj///8EAAAATAAAAAAAAAAAAAAAAAAAAP//////////VAAAADEALgAuACoABgAAAAMA AAADAAAABAAAACUAAAAMAAAAAQAAACgAAAAMAAAABgAAAFIAAABwAQAABgAAAPb///8AAAAA AAAAAAAAAAAAAAAAAAAAAQAAAABBAFIASQBBAEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAAAAAAAAAhOcSAKznEgC3LJF8 8C8iAJju7gCM5xIAAAAAAI6ggHwAAEAAmO7uAIznEgCloIB8+OcSANKPAAAAAAAAEAAAAAUA AAD85xIA/wAAAMDnEgClAtV3POgSAP8AAADY5xIAbHMOAQoAAAD1Gd1zAADqc0AAAAAAAAAA UOkSAAAAAABo5epzvOcSAFjpEgAX7+Zz/////7joEgCeJt1zBQAAAFDpEgBQ6RIABQAAAAAA EgA/Qt1zAAAhDjzoEgAFAAAAPOgSAFDpEgAXQt1zBQAAADzoEgAFAAAAAAEAAA5K3XM86BIA AAAAAFxK3XNkdgAIAAAAAGR2AAgAAAAAJQAAAAwAAAAGAAAAVAAAAIQAAAAGAQAAJAAAAC8B AAAwAAAAAQAAAAAA4UEAkOLBJAEAAK////8JAAAATAAAAAAAAAAAAAAAAAAAAP////////// YAAAAC0AYwBoAGkAbABkAHIAZQBuAAAAAwAAAAUAAAAGAAAAAwAAAAMAAAAGAAAAAwAAAAYA AAAGAAAAJQAAAAwAAAABAAAAKAAAAAwAAAAGAAAAEgAAAAwAAAABAAAAGQAAAAwAAAD///8A JQAAAAwAAAADAAAAKAAAAAwAAAAIAAAAJgAAABwAAAAIAAAAAAAAAAEAAAAAAAAAAAAAACUA AAAMAAAACAAAABsAAAAQAAAAdgAAACb///82AAAAEAAAAHYAAAA7////NgAAABAAAADVAAAA O////zYAAAAQAAAA1QAAAG3///8bAAAAEAAAANUAAABt////VgAAACgAAACyAAAAZgAAAL0A AAB1AAAAAwAAANsAXv/QAF7/1QBt/xIAAAAMAAAAAgAAABkAAAAMAAAA////ABIAAAAMAAAA AQAAABkAAAAMAAAA////ACUAAAAMAAAAAwAAACgAAAAMAAAACAAAACUAAAAMAAAADQAAgCgA AAAMAAAAAQAAACgAAAAMAAAABwAAACUAAAAMAAAAAAAAgCgAAAAMAAAAAgAAACUAAAAMAAAA BwAAgCgAAAAMAAAAAwAAAA4AAAAUAAAAAAAAABAAAAAUAAAA</UMLPattern.PreviewImage>
          </UMLPattern>
        </XMI.extensions>
      </XMI>
    </UMLPattern>
    <UMLPattern>
      <XMI xmi.version="1.1" xmlns:UML="omg.org/UML1.3" timestamp="2005-02-11 15:20:55">
        <XMI.header>
          <XMI.documentation>
            <XMI.exporter>Enterprise Architect</XMI.exporter>
            <XMI.exporterVersion>2.5</XMI.exporterVersion>
          </XMI.documentation>
        </XMI.header>
        <XMI.content>
          <UML:Model name="EA Model" xmi.id="MX_EAID_E2465CED_68DF_4503_A3FD_EB67E43EDE64">
            <UML:Namespace.ownedElement>
              <UML:Class name="Component" xmi.id="EAID_30ED0C0F_7876_45ac_AAF9_8ADFE332196D" visibility="public" namespace="EAPK_E2465CED_68DF_4503_A3FD_EB67E43EDE64" isRoot="false" isLeaf="false" isAbstract="true" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class defines the interface for objects that can have responsibilities added to them dynamically."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_E2465CED_68DF_4503_A3FD_EB67E43EDE64"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-06 22:35:21"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-08 16:34:04"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Decorator"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="Operation" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="isAbstract" value="1"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{E1FC50FA-1A42-450f-9E74-924D3853DE62}"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-1A42-450f-9E74-924D3853DE62}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
              <UML:Generalization subtype="EAID_D0E5ADA5_893B_40a7_8F6C_FDB69C7FE07E" supertype="EAID_30ED0C0F_7876_45ac_AAF9_8ADFE332196D" xmi.id="EAID_49E3A5E2_10F2_4dff_B6D5_1227AB3C24ED" visibility="public">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="3"/>
                  <UML:TaggedValue tag="ea_type" value="Generalization"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="3"/>
                  <UML:TaggedValue tag="linecolor" value="0"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="subtype" value="Tree"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="src_visibility" value="Public"/>
                  <UML:TaggedValue tag="src_aggregation" value="0"/>
                  <UML:TaggedValue tag="src_isOrdered" value="false"/>
                  <UML:TaggedValue tag="src_isNavigable" value="false"/>
                  <UML:TaggedValue tag="dst_visibility" value="Public"/>
                  <UML:TaggedValue tag="dst_aggregation" value="0"/>
                  <UML:TaggedValue tag="dst_isOrdered" value="false"/>
                  <UML:TaggedValue tag="dst_isNavigable" value="false"/>
                  <UML:TaggedValue tag="privatedata5" value="SX=0;SY=0;"/>
                </UML:ModelElement.taggedValue>
              </UML:Generalization>
              <UML:Association xmi.id="EAID_95BB62E4_C7D8_422e_8D6B_5B5DE09A412E" visibility="public" isRoot="false" isLeaf="false" isAbstract="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="3"/>
                  <UML:TaggedValue tag="ea_type" value="Association"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="3"/>
                  <UML:TaggedValue tag="linecolor" value="0"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="virtualInheritance" value="0"/>
                </UML:ModelElement.taggedValue>
                <UML:Association.connection>
                  <UML:AssociationEnd visibility="private" aggregation="shared" isOrdered="false" isNavigable="false" type="EAID_D0E5ADA5_893B_40a7_8F6C_FDB69C7FE07E">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="containment" value="Unspecified"/>
                    </UML:ModelElement.taggedValue>
                  </UML:AssociationEnd>
                  <UML:AssociationEnd visibility="protected" name="component" aggregation="none" isOrdered="false" isNavigable="true" type="EAID_30ED0C0F_7876_45ac_AAF9_8ADFE332196D">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="containment" value="Unspecified"/>
                    </UML:ModelElement.taggedValue>
                  </UML:AssociationEnd>
                </UML:Association.connection>
              </UML:Association>
              <UML:Generalization subtype="EAID_8A905CFD_1A5C_4eda_8E77_A0381B0907ED" supertype="EAID_30ED0C0F_7876_45ac_AAF9_8ADFE332196D" xmi.id="EAID_C481890E_7BC6_431e_9965_C157BCA75E2A" visibility="public">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="3"/>
                  <UML:TaggedValue tag="ea_type" value="Generalization"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="3"/>
                  <UML:TaggedValue tag="linecolor" value="0"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="subtype" value="Tree"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="src_visibility" value="Public"/>
                  <UML:TaggedValue tag="src_aggregation" value="0"/>
                  <UML:TaggedValue tag="src_isOrdered" value="false"/>
                  <UML:TaggedValue tag="src_isNavigable" value="false"/>
                  <UML:TaggedValue tag="dst_visibility" value="Public"/>
                  <UML:TaggedValue tag="dst_aggregation" value="0"/>
                  <UML:TaggedValue tag="dst_isOrdered" value="false"/>
                  <UML:TaggedValue tag="dst_isNavigable" value="false"/>
                  <UML:TaggedValue tag="privatedata5" value="SX=0;SY=0;"/>
                </UML:ModelElement.taggedValue>
              </UML:Generalization>
              <UML:Class name="Decorator" xmi.id="EAID_D0E5ADA5_893B_40a7_8F6C_FDB69C7FE07E" visibility="public" namespace="EAPK_E2465CED_68DF_4503_A3FD_EB67E43EDE64" isRoot="false" isLeaf="false" isAbstract="true" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class maintains a reference to a Component object and defines an interface that conforms to Component's interface."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_E2465CED_68DF_4503_A3FD_EB67E43EDE64"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-06 22:36:01"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-11 14:58:20"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Decorator"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="Operation" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="behaviour" value="if( component != null )&#xA;      component.Operation();"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{4CF464BD-5A91-499f-AAD3-C3A843C0E096}"/>
                      <UML:TaggedValue tag="styleex" value="ShowBeh=0;"/>
                      <UML:TaggedValue tag="override" value="true" xmi.id="EAID_FEDBC46D_877B_4581_B127_981166E7956B"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-5A91-499f-AAD3-C3A843C0E096}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                  <UML:Operation name="SetComponent" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="behaviour" value="this.component = component;"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="1"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{5C6E6EDF-A1FD-427a-9B3C-8974F038DA8B}"/>
                      <UML:TaggedValue tag="styleex" value="ShowBeh=0;"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-A1FD-427a-9B3C-8974F038DA8B}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                      <UML:Parameter name="component" kind="in" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="EAID_30ED0C0F_7876_45ac_AAF9_8ADFE332196D"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="Component"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="classifier" value="EAID_30ED0C0F_7876_45ac_AAF9_8ADFE332196D"/>
                          <UML:TaggedValue tag="ea_guid" value="{128394B3-0640-4bd5-ACE3-F528127330D0}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
              <UML:Generalization subtype="EAID_1B9BF2FF_2A22_425b_A5DA_583BF928E8D1" supertype="EAID_D0E5ADA5_893B_40a7_8F6C_FDB69C7FE07E" xmi.id="EAID_38CD8ADE_C3FF_4f3b_9B2B_A2B77DD08634" visibility="public">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="3"/>
                  <UML:TaggedValue tag="ea_type" value="Generalization"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="3"/>
                  <UML:TaggedValue tag="linecolor" value="0"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="subtype" value="Tree"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="src_visibility" value="Public"/>
                  <UML:TaggedValue tag="src_aggregation" value="0"/>
                  <UML:TaggedValue tag="src_isOrdered" value="false"/>
                  <UML:TaggedValue tag="src_isNavigable" value="false"/>
                  <UML:TaggedValue tag="dst_visibility" value="Public"/>
                  <UML:TaggedValue tag="dst_aggregation" value="0"/>
                  <UML:TaggedValue tag="dst_isOrdered" value="false"/>
                  <UML:TaggedValue tag="dst_isNavigable" value="false"/>
                  <UML:TaggedValue tag="privatedata5" value="SX=0;SY=0;"/>
                </UML:ModelElement.taggedValue>
              </UML:Generalization>
              <UML:Generalization subtype="EAID_B11B97DD_243C_455a_9FB3_F9250217BBD2" supertype="EAID_D0E5ADA5_893B_40a7_8F6C_FDB69C7FE07E" xmi.id="EAID_6793BD99_3E02_4251_AAAD_4D2BF8DFF3EC" visibility="public">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="3"/>
                  <UML:TaggedValue tag="ea_type" value="Generalization"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="3"/>
                  <UML:TaggedValue tag="linecolor" value="0"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="subtype" value="Tree"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="src_visibility" value="Public"/>
                  <UML:TaggedValue tag="src_aggregation" value="0"/>
                  <UML:TaggedValue tag="src_isOrdered" value="false"/>
                  <UML:TaggedValue tag="src_isNavigable" value="false"/>
                  <UML:TaggedValue tag="dst_visibility" value="Public"/>
                  <UML:TaggedValue tag="dst_aggregation" value="0"/>
                  <UML:TaggedValue tag="dst_isOrdered" value="false"/>
                  <UML:TaggedValue tag="dst_isNavigable" value="false"/>
                  <UML:TaggedValue tag="privatedata5" value="SX=0;SY=0;"/>
                </UML:ModelElement.taggedValue>
              </UML:Generalization>
              <UML:Class name="ConcreteDecoratorA" xmi.id="EAID_B11B97DD_243C_455a_9FB3_F9250217BBD2" visibility="public" namespace="EAPK_E2465CED_68DF_4503_A3FD_EB67E43EDE64" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class adds responsibilities to the component."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_E2465CED_68DF_4503_A3FD_EB67E43EDE64"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-06 22:38:02"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-11 14:58:20"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Decorator"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Attribute name="addedState" changeable="none" visibility="private" ownerScope="instance" targetScope="instance">
                    <UML:Attribute.initialValue>
                      <UML:Expression/>
                    </UML:Attribute.initialValue>
                    <UML:StructuralFeature.type>
                      <UML:Classifier xmi.idref="eaxmiid1"/>
                    </UML:StructuralFeature.type>
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="String"/>
                      <UML:TaggedValue tag="derived" value="0"/>
                      <UML:TaggedValue tag="containment" value="Not Specified"/>
                      <UML:TaggedValue tag="ordered" value="0"/>
                      <UML:TaggedValue tag="collection" value="false"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="lowerBound" value="1"/>
                      <UML:TaggedValue tag="upperBound" value="1"/>
                      <UML:TaggedValue tag="duplicates" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{4AA3C612-6753-4690-9742-38065BC94F04}"/>
                      <UML:TaggedValue tag="styleex" value="volatile=0;"/>
                    </UML:ModelElement.taggedValue>
                  </UML:Attribute>
                  <UML:Operation name="Operation" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="behaviour" value="super.Operation();&#xA;addedState = &quot;new state&quot;;&#xA;"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{8FB4AD0F-E01A-4149-BB02-4FFAE6A25E68}"/>
                      <UML:TaggedValue tag="styleex" value="ShowBeh=0;"/>
                      <UML:TaggedValue tag="override" value="true" xmi.id="EAID_8262CD4C_7DDC_4005_99D2_F718AF79CAB0"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-E01A-4149-BB02-4FFAE6A25E68}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
              <UML:Class name="ConcreteDecoratorB" xmi.id="EAID_1B9BF2FF_2A22_425b_A5DA_583BF928E8D1" visibility="public" namespace="EAPK_E2465CED_68DF_4503_A3FD_EB67E43EDE64" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class adds responsibilities to the component."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_E2465CED_68DF_4503_A3FD_EB67E43EDE64"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-06 22:38:18"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-11 14:58:20"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Decorator"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="Operation" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="behaviour" value="super.Operation();&#xA;AddedBehavior();&#xA;"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{3EBFAC58-C5BA-4d93-B394-E68E3EE81C87}"/>
                      <UML:TaggedValue tag="styleex" value="ShowBeh=0;"/>
                      <UML:TaggedValue tag="override" value="true" xmi.id="EAID_85811701_CE2B_4cdd_A71F_1E99E008149C"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-C5BA-4d93-B394-E68E3EE81C87}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                  <UML:Operation name="AddedBehavior" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="1"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{754A5CF7-96EB-438c-AA86-21AB4BA61F13}"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-96EB-438c-AA86-21AB4BA61F13}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
              <UML:Class name="ConcreteComponent" xmi.id="EAID_8A905CFD_1A5C_4eda_8E77_A0381B0907ED" visibility="public" namespace="EAPK_E2465CED_68DF_4503_A3FD_EB67E43EDE64" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class defines an object to which additional responsibilites can be attached."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_E2465CED_68DF_4503_A3FD_EB67E43EDE64"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-06 22:35:48"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-08 16:34:04"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Decorator"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="Operation" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{E97CD81E-18CE-4fd5-9633-C67D5AEFAA67}"/>
                      <UML:TaggedValue tag="override" value="true" xmi.id="EAID_EC98D324_7D07_44b6_97DD_4867D9DA8A6B"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-18CE-4fd5-9633-C67D5AEFAA67}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
            </UML:Namespace.ownedElement>
          </UML:Model>
          <UML:Diagram name="Decorator" xmi.id="EAID_6E45677B_C9F8_4ca5_B8FA_921A50C731BD" diagramType="ClassDiagram" owner="EAPK_6E45677B_C9F8_4ca5_B8FA_921A50C731BD" toolName="Enterprise Architect 2.5">
            <UML:ModelElement.taggedValue>
              <UML:TaggedValue tag="documentation" value="This pattern attaches additional responsibilities to an object dynamically providing a flexible alternative to subclassing for extending functionality."/>
              <UML:TaggedValue tag="version" value="1.0"/>
              <UML:TaggedValue tag="created_date" value="2004-12-14 13:31:55"/>
              <UML:TaggedValue tag="modified_date" value="2005-02-11 14:58:20"/>
              <UML:TaggedValue tag="package" value="EAPK_E2465CED_68DF_4503_A3FD_EB67E43EDE64"/>
              <UML:TaggedValue tag="type" value="Logical"/>
              <UML:TaggedValue tag="swimlanes" value="locked=false;orientation=0;width=0;inbar=false;names=false;color=0;bold=false;fcol=0;;cls=0;"/>
              <UML:TaggedValue tag="EAStyle" value="ShowPrivate=1;ShowProtected=1;ShowPublic=1;HideRelationships=0;Locked=0;Border=1;HighlightForeign=1;PackageContents=1;SequenceNotes=0;ScalePrintImage=0;PPgs.cx=0;PPgs.cy=0;DocSize.cx=780;DocSize.cy=1138;ShowDetails=0;Orientation=P;Zoom=100;ShowTags=0;OpParams=1;ShowIcons=1;CollabNums=0;HideProps=0;ShowReqs=0;ShowCons=0;PaperSize=9;HideParents=0;UseAlias=0;HideAtts=0;HideOps=0;HideStereo=0;HideElemStereo=0;ShowTests=0;ShowMaint=0;"/>
              <UML:TaggedValue tag="styleex" value="ExcludeRTF=0;DocAll=0;HideQuals=0;AttPkg=1;ShowTests=0;ShowMaint=0;SuppressFOC=0;TDurLow=0;TDurHigh=100;TDurUnit=;TDurHide=0;"/>
            </UML:ModelElement.taggedValue>
            <UML:Diagram.element>
              <UML:DiagramElement geometry="Left=30;Top=185;Right=137;Bottom=255;imgL=10;imgT=157;imgR=117;imgB=227;" subject="EAID_8A905CFD_1A5C_4eda_8E77_A0381B0907ED" seqno="1" style="DUID=28F587C6;LBL=;"/>
              <UML:DiagramElement geometry="Left=267;Top=331;Right=402;Bottom=407;imgL=247;imgT=303;imgR=382;imgB=379;" subject="EAID_1B9BF2FF_2A22_425b_A5DA_583BF928E8D1" seqno="2" style="DUID=4105484D;LBL=;"/>
              <UML:DiagramElement geometry="Left=112;Top=331;Right=229;Bottom=407;imgL=92;imgT=303;imgR=209;imgB=379;" subject="EAID_B11B97DD_243C_455a_9FB3_F9250217BBD2" seqno="3" style="DUID=37BB32B6;LBL=;"/>
              <UML:DiagramElement geometry="Left=165;Top=184;Right=353;Bottom=254;imgL=145;imgT=156;imgR=333;imgB=226;" subject="EAID_D0E5ADA5_893B_40a7_8F6C_FDB69C7FE07E" seqno="4" style="DUID=5740DA98;LBL=;"/>
              <UML:DiagramElement geometry="Left=89;Top=38;Right=198;Bottom=108;imgL=69;imgT=10;imgR=178;imgB=80;" subject="EAID_30ED0C0F_7876_45ac_AAF9_8ADFE332196D" seqno="5" style="DUID=B2C7F605;LBL=;"/>
              <UML:DiagramElement geometry="SX=0;SY=0;EDGE=1;$LLB=;LLT=;LMT=;LMB=;LRT=;LRB=;Path=259:-158$143:-158$;" subject="EAID_49E3A5E2_10F2_4dff_B6D5_1227AB3C24ED" style="Mode=3;EOID=B2C7F605;SOID=5740DA98;Hidden=0;"/>
              <UML:DiagramElement geometry="SX=0;SY=0;EDGE=1;$LLB=;LLT=;LMT=;LMB=;LRT=;LRB=;Path=83:-158$143:-158$;" subject="EAID_C481890E_7BC6_431e_9965_C157BCA75E2A" style="Mode=3;EOID=B2C7F605;SOID=28F587C6;Hidden=0;"/>
              <UML:DiagramElement geometry="EDGE=2;$LLB=;LLT=;LMT=;LMB=;LRT=CX=69:CY=15:OX=0:OY=0:HDN=0:BLD=0:ITA=0:UND=0:CLR=-1:ALN=0:DIR=0:ROT=0;LRB=;Path=395:-218$395:-72$;" subject="EAID_95BB62E4_C7D8_422e_8D6B_5B5DE09A412E" style="Mode=3;EOID=B2C7F605;SOID=5740DA98;Hidden=0;"/>
              <UML:DiagramElement geometry="SX=0;SY=0;EDGE=1;$LLB=;LLT=;LMT=;LMB=;LRT=;LRB=;Path=334:-304$259:-304$;" subject="EAID_38CD8ADE_C3FF_4f3b_9B2B_A2B77DD08634" style="Mode=3;EOID=5740DA98;SOID=4105484D;Hidden=0;"/>
              <UML:DiagramElement geometry="SX=0;SY=0;EDGE=1;$LLB=;LLT=;LMT=;LMB=;LRT=;LRB=;Path=170:-304$259:-304$;" subject="EAID_6793BD99_3E02_4251_AAAD_4D2BF8DFF3EC" style="Mode=3;EOID=5740DA98;SOID=37BB32B6;Hidden=0;"/>
            </UML:Diagram.element>
          </UML:Diagram>
        </XMI.content>
        <XMI.difference/>
        <XMI.extensions xmi.extender="Enterprise Architect 2.5">
          <EAStub xmi.id="EAID_D0E5ADA5_893B_40a7_8F6C_FDB69C7FE07E" name="Decorator" UMLType="Class"/>
          <EAStub xmi.id="EAID_30ED0C0F_7876_45ac_AAF9_8ADFE332196D" name="Component" UMLType="Class"/>
          <EAStub xmi.id="EAID_8A905CFD_1A5C_4eda_8E77_A0381B0907ED" name="ConcreteComponent" UMLType="Class"/>
          <EAStub xmi.id="EAID_1B9BF2FF_2A22_425b_A5DA_583BF928E8D1" name="ConcreteDecoratorB" UMLType="Class"/>
          <EAStub xmi.id="EAID_B11B97DD_243C_455a_9FB3_F9250217BBD2" name="ConcreteDecoratorA" UMLType="Class"/>
          <UMLPattern name="Decorator" category="GoF Structural Patterns" version="1.0" notes="This pattern attaches additional responsibilities to an object dynamically providing a flexible alternative to subclassing for extending functionality.">
            <UMLPattern.PromptList>
              <Element name="ConcreteComponent:Class" guid="EAID_8A905CFD_1A5C_4eda_8E77_A0381B0907ED" id="862" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class defines an object to which additional responsibilites can be attached.">
                  <![CDATA[This class defines an object to which additional responsibilites can be attached.]]>
                </Comment>
              </Element>
              <Element name="ConcreteDecoratorB:Class" guid="EAID_1B9BF2FF_2A22_425b_A5DA_583BF928E8D1" id="865" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class adds responsibilities to the component.">
                  <![CDATA[This class adds responsibilities to the component.]]>
                </Comment>
              </Element>
              <Element name="ConcreteDecoratorA:Class" guid="EAID_B11B97DD_243C_455a_9FB3_F9250217BBD2" id="864" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class adds responsibilities to the component.">
                  <![CDATA[This class adds responsibilities to the component.]]>
                </Comment>
              </Element>
              <Element name="Decorator:Class" guid="EAID_D0E5ADA5_893B_40a7_8F6C_FDB69C7FE07E" id="863" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class maintains a reference to a Component object and defines an interface that conforms to Component's interface.">
                  <![CDATA[This class maintains a reference to a Component object and defines an interface that conforms to Component's interface.]]>
                </Comment>
              </Element>
              <Element name="Component:Class" guid="EAID_30ED0C0F_7876_45ac_AAF9_8ADFE332196D" id="861" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class defines the interface for objects that can have responsibilities added to them dynamically.">
                  <![CDATA[This class defines the interface for objects that can have responsibilities added to them dynamically.]]>
                </Comment>
              </Element>
            </UMLPattern.PromptList>
            <UMLPattern.PreviewImage xmlns:dt="urn:schemas-microsoft-com:datatypes" dt:dt="bin.base64" cx="11025" cy="11016">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 BgAAAAYAAAADAAAABgAAAAMAAAADAAAABgAAAAYAAAADAAAAAwAAAAMAAAADAAAAAwAAAAUA AAAGAAAAAwAAAAYAAABUAAAAWAAAAPwAAABfAQAABQEAAGsBAAABAAAAAADhQQCQ4sEQAQAA hf7//wIAAABMAAAAAAAAAAAAAAAAAAAA//////////9QAAAAKwAgAAYAAAADAAAAVAAAANAA AAANAQAAXwEAAHkBAABrAQAAAQAAAAAA4UEAkOLBIQEAAIX+//8WAAAATAAAAAAAAAAAAAAA AAAAAP//////////eAAAAEEAZABkAGUAZABCAGUAaABhAHYAaQBvAHIAKAApACAAOgAgAHYA bwBpAGQABwAAAAYAAAAGAAAABgAAAAYAAAAHAAAABgAAAAYAAAAGAAAABQAAAAMAAAAGAAAA AwAAAAMAAAADAAAAAwAAAAMAAAADAAAABQAAAAYAAAADAAAABgAAABgAAAAMAAAAAAAAACcA AAAYAAAACAAAAAAAAADAv8AAAAAAACUAAAAMAAAACAAAACYAAAAcAAAABwAAAAAAAAABAAAA AAAAAMC/wAAlAAAADAAAAAcAAAArAAAAGAAAACEAAABE////iwAAAP/+//8lAAAADAAAAAIA AAAoAAAADAAAAAgAAAAlAAAADAAAAAMAAAAoAAAADAAAAAcAAAArAAAAGAAAAB4AAABH//// iAAAAAL///8lAAAADAAAAAYAAABUAAAAtAAAAA4AAACmAAAAcQAAALEAAAABAAAAAADhQQCQ 4sEiAAAAPv///xEAAABMAAAAAAAAAAAAAAAAAAAA//////////9wAAAAQwBvAG4AYwByAGUA dABlAEMAbwBtAHAAbwBuAGUAbgB0AAAABwAAAAYAAAAGAAAABgAAAAQAAAAGAAAAAwAAAAYA AAAHAAAABgAAAAkAAAAGAAAABgAAAAYAAAAGAAAABgAAAAMAAAAlAAAADAAAAAEAAAAbAAAA EAAAAB4AAAAs////NgAAABAAAACIAAAALP///xgAAAAMAAAAAACAABgAAAAMAAAAAAAAABgA AAAMAAAAAEBAAFQAAABYAAAADwAAAMAAAAAYAAAAzAAAAAEAAAAAAOFBAJDiwSMAAAAk//// AgAAAEwAAAAAAAAAAAAAAAAAAAD//////////1AAAAArACAABgAAAAMAAABUAAAAuAAAACAA AADAAAAAcgAAAMwAAAABAAAAAADhQQCQ4sE0AAAAJP///xIAAABMAAAAAAAAAAAAAAAAAAAA //////////9wAAAATwBwAGUAcgBhAHQAaQBvAG4AKAApACAAOgAgAHYAbwBpAGQACAAAAAYA AAAGAAAAAwAAAAYAAAADAAAAAwAAAAYAAAAGAAAAAwAAAAMAAAADAAAAAwAAAAMAAAAFAAAA BgAAAAMAAAAGAAAAGAAAAAwAAAAAAAAAJgAAABwAAAAHAAAAAAAAAAEAAAAAAAAAAAAAACUA AAAMAAAABwAAABsAAAAQAAAAAwEAAEj///82AAAAEAAAAAMBAABi////NgAAABAAAACPAAAA Yv///zYAAAAQAAAAjwAAAJT///8bAAAAEAAAAI8AAACU////VgAAACgAAAB2AAAAUAAAAIEA AABfAAAAAwAAAJUAhf+KAIX/jwCU/xIAAAAMAAAAAgAAABkAAAAMAAAA////ABIAAAAMAAAA AQAAABkAAAAMAAAA////ACUAAAAMAAAAAwAAACgAAAAMAAAABwAAACYAAAAcAAAABwAAAAAA AAABAAAAAAAAAAAAAAAlAAAADAAAAAcAAAAbAAAAEAAAAFMAAABH////NgAAABAAAABTAAAA Yv///zYAAAAQAAAAjwAAAGL///82AAAAEAAAAI8AAACU////GwAAABAAAACPAAAAlP///1YA AAAoAAAAdgAAAFAAAACBAAAAXwAAAAMAAACVAIX/igCF/48AlP8SAAAADAAAAAIAAAAZAAAA DAAAAP///wASAAAADAAAAAEAAAAZAAAADAAAAP///wAlAAAADAAAAAMAAAAoAAAADAAAAAcA AAAmAAAAHAAAAAcAAAAAAAAAAQAAAAAAAAAAAAAAJQAAAAwAAAAHAAAAGwAAABAAAABhAQAA Jv///zYAAAAQAAAAiwEAACb///82AAAAEAAAAIsBAAC4////NgAAABAAAADGAAAAuP///1YA AAAsAAAATQEAALoAAABhAQAAwgAAAAQAAABrASr/YQEm/2oBIv91ASb/GwAAABAAAADGAAAA uP///xsAAAAQAAAAxgAAALj///82AAAAEAAAANUAAAC+////GwAAABAAAADGAAAAuP///zYA AAAQAAAA1QAAALL///8SAAAADAAAAAIAAAAZAAAADAAAAP///wBSAAAAcAEAAAgAAAD2//// AAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAQQBSAEkAQQBMAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAAAAAAAAAITnEgCs5xIA tyyRfPAvIgCY7u4AjOcSAAAAAACOoIB8AABAAJju7gCM5xIApaCAfPjnEgDSjwAAAAAAABAA AAAFAAAA/OcSAP8AAADA5xIApQLVdzzoEgD/AAAA2OcSAGxzDgEKAAAA9RndcwAA6nNAAAAA AAAAAFDpEgAAAAAAaOXqc7znEgBY6RIAF+/mc/////+46BIAnibdcwUAAABQ6RIAUOkSAAUA AAAAABIAP0LdcwAAIA486BIABQAAADzoEgBQ6RIAF0LdcwUAAAA86BIABQAAAAABAAAOSt1z POgSAAAAAABcSt1zZHYACAAAAABkdgAIAAAAACUAAAAMAAAACAAAAFQAAACIAAAAtQAAABoA AADwAAAAJgAAAAEAAAAAAOFBAJDiwckAAADK////CgAAAEwAAAAAAAAAAAAAAAAAAAD///// /////2AAAAAjAGMAbwBtAHAAbwBuAGUAbgB0AAYAAAAFAAAABgAAAAkAAAAGAAAABgAAAAYA AAAGAAAABgAAAAMAAAAlAAAADAAAAAEAAAAoAAAADAAAAAgAAAASAAAADAAAAAEAAAAZAAAA DAAAAP///wAlAAAADAAAAAMAAAAoAAAADAAAAAcAAAAmAAAAHAAAAAcAAAAAAAAAAQAAAAAA AAAAAAAAJQAAAAwAAAAHAAAAGwAAABAAAABOAQAAtf7//zYAAAAQAAAATgEAAND+//82AAAA EAAAAAMBAADQ/v//NgAAABAAAAADAQAAAv///xsAAAAQAAAAAwEAAAL///9WAAAAKAAAAOoA AADiAAAA9QAAAPEAAAADAAAACQHz/v4A8/4DAQL/EgAAAAwAAAACAAAAGQAAAAwAAAD///8A EgAAAAwAAAABAAAAGQAAAAwAAAD///8AJQAAAAwAAAADAAAAKAAAAAwAAAAHAAAAJgAAABwA AAAHAAAAAAAAAAEAAAAAAAAAAAAAACUAAAAMAAAABwAAABsAAAAQAAAAqgAAALX+//82AAAA EAAAAKoAAADQ/v//NgAAABAAAAADAQAA0P7//zYAAAAQAAAAAwEAAAL///8bAAAAEAAAAAMB AAAC////VgAAACgAAADqAAAA4gAAAPUAAADxAAAAAwAAAAkB8/7+APP+AwEC/xIAAAAMAAAA AgAAABkAAAAMAAAA////ABIAAAAMAAAAAQAAABkAAAAMAAAA////ACUAAAAMAAAAAwAAACgA AAAMAAAABwAAACUAAAAMAAAADQAAgCgAAAAMAAAAAQAAACgAAAAMAAAABgAAACUAAAAMAAAA AAAAgCgAAAAMAAAAAgAAACUAAAAMAAAABwAAgCgAAAAMAAAAAwAAAA4AAAAUAAAAAAAAABAA AAAUAAAA</UMLPattern.PreviewImage>
          </UMLPattern>
        </XMI.extensions>
      </XMI>
    </UMLPattern>
    <UMLPattern>
      <XMI xmi.version="1.1" xmlns:UML="omg.org/UML1.3" timestamp="2005-02-11 15:21:14">
        <XMI.header>
          <XMI.documentation>
            <XMI.exporter>Enterprise Architect</XMI.exporter>
            <XMI.exporterVersion>2.5</XMI.exporterVersion>
          </XMI.documentation>
        </XMI.header>
        <XMI.content>
          <UML:Model name="EA Model" xmi.id="MX_EAID_070F22BE_0C0D_4dbb_BCCA_ADF9F7AA0090">
            <UML:Namespace.ownedElement>
              <UML:Class name="Facade" xmi.id="EAID_75D48458_A304_4230_936A_01B44B7FC5AB" visibility="public" namespace="EAPK_070F22BE_0C0D_4dbb_BCCA_ADF9F7AA0090" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class (a) knows which subsystem classes are responsible for a request, and (b) delegates client requests to appropriate subsystem objects."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_070F22BE_0C0D_4dbb_BCCA_ADF9F7AA0090"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-06 22:57:34"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-11 14:58:19"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Facade"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="Facade" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="behaviour" value="sub1 = new SubsystemClass1();&#xA;sub2 = new SubsystemClass2();&#xA;sub3 = new SubsystemClass3();&#xA;sub4 = new SubsystemClass4();"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{8BBC7A86-4C65-404d-88CC-2E12CDA56714}"/>
                      <UML:TaggedValue tag="styleex" value="ShowBeh=0;"/>
                    </UML:ModelElement.taggedValue>
                  </UML:Operation>
                  <UML:Operation name="MethodA" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="behaviour" value="sub1.Method1();&#xA;sub2.Method2();&#xA;sub4.Method4();"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="1"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{93B0460A-4C3D-42a6-94FB-80A14BE1C498}"/>
                      <UML:TaggedValue tag="styleex" value="ShowBeh=0;"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-4C3D-42a6-94FB-80A14BE1C498}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                  <UML:Operation name="MethodB" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="behaviour" value="sub3.Method3();&#xA;sub4.Method4();"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="2"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{A85990E9-A74A-42a8-BD96-7E1AB1D87580}"/>
                      <UML:TaggedValue tag="styleex" value="ShowBeh=0;"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-A74A-42a8-BD96-7E1AB1D87580}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
              <UML:Association xmi.id="EAID_3BBD3195_4750_4713_B057_3D7A8003CFC8" visibility="public" isRoot="false" isLeaf="false" isAbstract="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="3"/>
                  <UML:TaggedValue tag="ea_type" value="Association"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="3"/>
                  <UML:TaggedValue tag="linecolor" value="-1"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="virtualInheritance" value="0"/>
                </UML:ModelElement.taggedValue>
                <UML:Association.connection>
                  <UML:AssociationEnd visibility="private" aggregation="none" isOrdered="false" isNavigable="false" type="EAID_75D48458_A304_4230_936A_01B44B7FC5AB">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="containment" value="Unspecified"/>
                    </UML:ModelElement.taggedValue>
                  </UML:AssociationEnd>
                  <UML:AssociationEnd visibility="private" name="sub1" aggregation="none" isOrdered="false" isNavigable="true" type="EAID_C8AE1763_2E89_430a_891C_BD537072D084">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="containment" value="Unspecified"/>
                    </UML:ModelElement.taggedValue>
                  </UML:AssociationEnd>
                </UML:Association.connection>
              </UML:Association>
              <UML:Association xmi.id="EAID_758278BC_5E2A_40c5_8EAF_DB8CA30E68A6" visibility="public" isRoot="false" isLeaf="false" isAbstract="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="3"/>
                  <UML:TaggedValue tag="ea_type" value="Association"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="3"/>
                  <UML:TaggedValue tag="linecolor" value="0"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="privatedata5" value="SX=-5;SY=-4;EX=25;EY=-5;"/>
                  <UML:TaggedValue tag="virtualInheritance" value="0"/>
                </UML:ModelElement.taggedValue>
                <UML:Association.connection>
                  <UML:AssociationEnd visibility="public" aggregation="none" isOrdered="false" isNavigable="false" type="EAID_75D48458_A304_4230_936A_01B44B7FC5AB">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="containment" value="Unspecified"/>
                    </UML:ModelElement.taggedValue>
                  </UML:AssociationEnd>
                  <UML:AssociationEnd visibility="private" name="sub3" aggregation="none" isOrdered="false" isNavigable="true" type="EAID_1112E9BA_BEA4_4324_8B12_32475FA97C94">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="containment" value="Unspecified"/>
                    </UML:ModelElement.taggedValue>
                  </UML:AssociationEnd>
                </UML:Association.connection>
              </UML:Association>
              <UML:Association xmi.id="EAID_8E8E7C34_C16E_4c13_A45D_028E97C8FB9B" visibility="public" isRoot="false" isLeaf="false" isAbstract="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="3"/>
                  <UML:TaggedValue tag="ea_type" value="Association"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="3"/>
                  <UML:TaggedValue tag="linecolor" value="0"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="virtualInheritance" value="0"/>
                </UML:ModelElement.taggedValue>
                <UML:Association.connection>
                  <UML:AssociationEnd visibility="public" aggregation="none" isOrdered="false" isNavigable="false" type="EAID_75D48458_A304_4230_936A_01B44B7FC5AB">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="containment" value="Unspecified"/>
                    </UML:ModelElement.taggedValue>
                  </UML:AssociationEnd>
                  <UML:AssociationEnd visibility="private" name="sub2" aggregation="none" isOrdered="false" isNavigable="true" type="EAID_81352EC5_BA4C_40b4_98F6_05C979D60271">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="containment" value="Unspecified"/>
                    </UML:ModelElement.taggedValue>
                  </UML:AssociationEnd>
                </UML:Association.connection>
              </UML:Association>
              <UML:Association xmi.id="EAID_D756A386_8DCA_405b_8F1A_1926FE5D9C0E" visibility="public" isRoot="false" isLeaf="false" isAbstract="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="3"/>
                  <UML:TaggedValue tag="ea_type" value="Association"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="3"/>
                  <UML:TaggedValue tag="linecolor" value="0"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="privatedata5" value="SX=5;SY=2;EX=-10;EY=2;"/>
                  <UML:TaggedValue tag="virtualInheritance" value="0"/>
                </UML:ModelElement.taggedValue>
                <UML:Association.connection>
                  <UML:AssociationEnd visibility="public" aggregation="none" isOrdered="false" isNavigable="false" type="EAID_75D48458_A304_4230_936A_01B44B7FC5AB">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="containment" value="Unspecified"/>
                    </UML:ModelElement.taggedValue>
                  </UML:AssociationEnd>
                  <UML:AssociationEnd visibility="private" name="sub4" aggregation="none" isOrdered="false" isNavigable="true" type="EAID_3D7C5433_3255_4580_BA69_0A9F3561BEC5">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="containment" value="Unspecified"/>
                    </UML:ModelElement.taggedValue>
                  </UML:AssociationEnd>
                </UML:Association.connection>
              </UML:Association>
              <UML:Class name="SubsystemClass1" xmi.id="EAID_C8AE1763_2E89_430a_891C_BD537072D084" visibility="public" namespace="EAPK_070F22BE_0C0D_4dbb_BCCA_ADF9F7AA0090" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class (a) implements subsystem functionality, (b) handles work assigned by the Facade object, and (c) keeps no reference to the facade."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_070F22BE_0C0D_4dbb_BCCA_ADF9F7AA0090"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-06 22:57:55"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-08 16:38:51"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Facade"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="Method1" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{EC45DF90-23E6-407f-A349-C5FE510D1D32}"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-23E6-407f-A349-C5FE510D1D32}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
              <UML:Class name="SubsystemClass2" xmi.id="EAID_81352EC5_BA4C_40b4_98F6_05C979D60271" visibility="public" namespace="EAPK_070F22BE_0C0D_4dbb_BCCA_ADF9F7AA0090" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class (a) implements subsystem functionality, (b) handles work assigned by the Facade object, and (c) keeps no reference to the facade."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_070F22BE_0C0D_4dbb_BCCA_ADF9F7AA0090"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-06 22:57:55"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-08 16:38:51"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Facade"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="Method2" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{0D0163FB-0C17-4664-A9D4-9031455F5AC3}"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-0C17-4664-A9D4-9031455F5AC3}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
              <UML:Class name="SubsystemClass3" xmi.id="EAID_1112E9BA_BEA4_4324_8B12_32475FA97C94" visibility="public" namespace="EAPK_070F22BE_0C0D_4dbb_BCCA_ADF9F7AA0090" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class (a) implements subsystem functionality, (b) handles work assigned by the Facade object, and (c) keeps no reference to the facade."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_070F22BE_0C0D_4dbb_BCCA_ADF9F7AA0090"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-06 22:57:55"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-08 16:38:51"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Facade"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="Method3" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{BCE4C008-9EAA-4044-9671-087E08CF1F0E}"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-9EAA-4044-9671-087E08CF1F0E}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
              <UML:Class name="SubsystemClass4" xmi.id="EAID_3D7C5433_3255_4580_BA69_0A9F3561BEC5" visibility="public" namespace="EAPK_070F22BE_0C0D_4dbb_BCCA_ADF9F7AA0090" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class (a) implements subsystem functionality, (b) handles work assigned by the Facade object, and (c) keeps no reference to the facade."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_070F22BE_0C0D_4dbb_BCCA_ADF9F7AA0090"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-06 22:57:55"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-08 16:38:51"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Facade"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="Method4" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{A6A93AAC-323C-4667-937E-18F781C477AA}"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-323C-4667-937E-18F781C477AA}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
            </UML:Namespace.ownedElement>
          </UML:Model>
          <UML:Diagram name="Facade" xmi.id="EAID_A881AAB1_A229_43f0_A135_A2588FE5E48D" diagramType="ClassDiagram" owner="EAPK_A881AAB1_A229_43f0_A135_A2588FE5E48D" toolName="Enterprise Architect 2.5">
            <UML:ModelElement.taggedValue>
              <UML:TaggedValue tag="documentation" value="This pattern provides a unified interface to a set of interfaces in a subsystem. It defines a higher-level interface that makes the subsystem easier to use."/>
              <UML:TaggedValue tag="version" value="1.0"/>
              <UML:TaggedValue tag="created_date" value="2004-12-14 13:31:58"/>
              <UML:TaggedValue tag="modified_date" value="2005-02-11 14:58:19"/>
              <UML:TaggedValue tag="package" value="EAPK_070F22BE_0C0D_4dbb_BCCA_ADF9F7AA0090"/>
              <UML:TaggedValue tag="type" value="Logical"/>
              <UML:TaggedValue tag="swimlanes" value="locked=false;orientation=0;width=0;inbar=false;names=false;color=0;bold=false;fcol=0;;cls=0;"/>
              <UML:TaggedValue tag="EAStyle" value="ShowPrivate=1;ShowProtected=1;ShowPublic=1;HideRelationships=0;Locked=0;Border=1;HighlightForeign=1;PackageContents=1;SequenceNotes=0;ScalePrintImage=0;PPgs.cx=0;PPgs.cy=0;DocSize.cx=780;DocSize.cy=1138;ShowDetails=0;Orientation=P;Zoom=100;ShowTags=0;OpParams=1;ShowIcons=1;CollabNums=0;HideProps=0;ShowReqs=0;ShowCons=0;PaperSize=9;HideParents=0;UseAlias=0;HideAtts=0;HideOps=0;HideStereo=0;HideElemStereo=0;ShowTests=0;ShowMaint=0;"/>
              <UML:TaggedValue tag="styleex" value="ExcludeRTF=0;DocAll=0;HideQuals=0;AttPkg=1;ShowTests=0;ShowMaint=0;SuppressFOC=0;TDurLow=0;TDurHigh=100;TDurUnit=;TDurHide=0;"/>
            </UML:ModelElement.taggedValue>
            <UML:Diagram.element>
              <UML:DiagramElement geometry="Left=284;Top=248;Right=388;Bottom=301;imgL=268;imgT=235;imgR=372;imgB=288;" subject="EAID_3D7C5433_3255_4580_BA69_0A9F3561BEC5" seqno="1" style="DUID=32410636;LBL=;"/>
              <UML:DiagramElement geometry="Left=158;Top=203;Right=262;Bottom=256;imgL=142;imgT=190;imgR=246;imgB=243;" subject="EAID_1112E9BA_BEA4_4324_8B12_32475FA97C94" seqno="2" style="DUID=4DB4266B;LBL=;"/>
              <UML:DiagramElement geometry="Left=75;Top=131;Right=179;Bottom=184;imgL=59;imgT=118;imgR=163;imgB=171;" subject="EAID_81352EC5_BA4C_40b4_98F6_05C979D60271" seqno="3" style="DUID=02B040DC;LBL=;"/>
              <UML:DiagramElement geometry="Left=26;Top=56;Right=130;Bottom=109;imgL=10;imgT=43;imgR=114;imgB=96;" subject="EAID_C8AE1763_2E89_430a_891C_BD537072D084" seqno="4" style="DUID=996FACBF;LBL=;"/>
              <UML:DiagramElement geometry="Left=261;Top=23;Right=366;Bottom=102;imgL=245;imgT=10;imgR=350;imgB=89;" subject="EAID_75D48458_A304_4230_936A_01B44B7FC5AB" seqno="5" style="DUID=1AE164BA;LBL=;"/>
              <UML:DiagramElement geometry="SX=5;SY=2;EX=-10;EY=2;EDGE=3;$LLB=;LLT=;LMT=;LMB=;LRT=CX=35:CY=15:OX=0:OY=0:HDN=0:BLD=0:ITA=0:UND=0:CLR=-1:ALN=0:DIR=0:ROT=0;LRB=;Path=;" subject="EAID_D756A386_8DCA_405b_8F1A_1926FE5D9C0E" style="Mode=3;EOID=32410636;SOID=1AE164BA;Hidden=0;"/>
              <UML:DiagramElement geometry="SX=-5;SY=-4;EX=25;EY=-5;EDGE=3;$LLB=;LLT=;LMT=;LMB=;LRT=CX=35:CY=15:OX=0:OY=0:HDN=0:BLD=0:ITA=0:UND=0:CLR=-1:ALN=0:DIR=0:ROT=0;LRB=;Path=;" subject="EAID_758278BC_5E2A_40c5_8EAF_DB8CA30E68A6" style="Mode=3;EOID=4DB4266B;SOID=1AE164BA;Hidden=0;"/>
              <UML:DiagramElement geometry="EDGE=4;$LLB=;LLT=;LMT=;LMB=;LRT=CX=35:CY=15:OX=0:OY=0:HDN=0:BLD=0:ITA=0:UND=0:CLR=-1:ALN=0:DIR=0:ROT=0;LRB=;Path=;" subject="EAID_8E8E7C34_C16E_4c13_A45D_028E97C8FB9B" style="Mode=3;EOID=02B040DC;SOID=1AE164BA;Hidden=0;"/>
              <UML:DiagramElement geometry="EDGE=4;$LLB=;LLT=;LMT=;LMB=;LRT=CX=35:CY=15:OX=0:OY=0:HDN=0:BLD=0:ITA=0:UND=0:CLR=-1:ALN=0:DIR=0:ROT=0;LRB=;Path=;" subject="EAID_3BBD3195_4750_4713_B057_3D7A8003CFC8" style="Mode=3;EOID=996FACBF;SOID=1AE164BA;Hidden=0;"/>
            </UML:Diagram.element>
          </UML:Diagram>
        </XMI.content>
        <XMI.difference/>
        <XMI.extensions xmi.extender="Enterprise Architect 2.5">
          <EAStub xmi.id="EAID_75D48458_A304_4230_936A_01B44B7FC5AB" name="Facade" UMLType="Class"/>
          <EAStub xmi.id="EAID_C8AE1763_2E89_430a_891C_BD537072D084" name="SubsystemClass1" UMLType="Class"/>
          <EAStub xmi.id="EAID_1112E9BA_BEA4_4324_8B12_32475FA97C94" name="SubsystemClass3" UMLType="Class"/>
          <EAStub xmi.id="EAID_81352EC5_BA4C_40b4_98F6_05C979D60271" name="SubsystemClass2" UMLType="Class"/>
          <EAStub xmi.id="EAID_3D7C5433_3255_4580_BA69_0A9F3561BEC5" name="SubsystemClass4" UMLType="Class"/>
          <UMLPattern name="Facade" category="GoF Structural Patterns" version="1.0" notes="This pattern provides a unified interface to a set of interfaces in a subsystem. It defines a higher-level interface that makes the subsystem easier to use.">
            <UMLPattern.PromptList>
              <Element name="SubsystemClass4:Class" guid="EAID_3D7C5433_3255_4580_BA69_0A9F3561BEC5" id="872" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class (a) implements subsystem functionality, (b) handles work assigned by the Facade object, and (c) keeps no reference to the facade.">
                  <![CDATA[This class (a) implements subsystem functionality, (b) handles work assigned by the Facade object, and (c) keeps no reference to the facade.]]>
                </Comment>
              </Element>
              <Element name="SubsystemClass3:Class" guid="EAID_1112E9BA_BEA4_4324_8B12_32475FA97C94" id="869" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class (a) implements subsystem functionality, (b) handles work assigned by the Facade object, and (c) keeps no reference to the facade.">
                  <![CDATA[This class (a) implements subsystem functionality, (b) handles work assigned by the Facade object, and (c) keeps no reference to the facade.]]>
                </Comment>
              </Element>
              <Element name="SubsystemClass2:Class" guid="EAID_81352EC5_BA4C_40b4_98F6_05C979D60271" id="868" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class (a) implements subsystem functionality, (b) handles work assigned by the Facade object, and (c) keeps no reference to the facade.">
                  <![CDATA[This class (a) implements subsystem functionality, (b) handles work assigned by the Facade object, and (c) keeps no reference to the facade.]]>
                </Comment>
              </Element>
              <Element name="SubsystemClass1:Class" guid="EAID_C8AE1763_2E89_430a_891C_BD537072D084" id="867" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class (a) implements subsystem functionality, (b) handles work assigned by the Facade object, and (c) keeps no reference to the facade.">
                  <![CDATA[This class (a) implements subsystem functionality, (b) handles work assigned by the Facade object, and (c) keeps no reference to the facade.]]>
                </Comment>
              </Element>
              <Element name="Facade:Class" guid="EAID_75D48458_A304_4230_936A_01B44B7FC5AB" id="866" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class (a) knows which subsystem classes are responsible for a request, and (b) delegates client requests to appropriate subsystem objects.">
                  <![CDATA[This class (a) knows which subsystem classes are responsible for a request, and (b) delegates client requests to appropriate subsystem objects.]]>
                </Comment>
              </Element>
            </UMLPattern.PromptList>
            <UMLPattern.PreviewImage xmlns:dt="urn:schemas-microsoft-com:datatypes" dt:dt="bin.base64" cx="10743" cy="8439">AQAAAGwAAAAKAAAACgAAAHYBAAAiAQAAAAAAAAAAAAD3KQAA9yAAACBFTUYAAAEAUCAAAOkA AAAHAAAAAAAAAAAAAAAAAAAAAAUAAAAEAABoAQAAIgEAAAAAAAAAAAAAAAAAAEB+BQDQbAQA EQAAAAwAAAAIAAAACQAAABAAAAABAAAA/////woAAAAQAAAAEAAAAPP///9SAAAAcAEAAAEA AAD2////AAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAQQBSAEkAQQBMAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkXwAAEAAHOcSAAAA AAAAAAAAhOcSAKznEgC3LJF88C8iAJju7gCM5xIAAAAAAI6ggHwAAEAAmO7uAIznEgCloIB8 +OcSANKPAAAAAAAAEAAAAAUAAAD85xIA/wAAAMDnEgClAtV3POgSAP8AAADY5xIAbHMOAQoA AAD1Gd1zAADqc0AAAAAFAAAAUOkSAAAAAABo5epzvOcSAFjpEgAX7+Zz/////7joEgCeJt1z BQAAAFDpEgBQ6RIABQAAAAAAEgA/Qt1zWG4gDjzoEgAFAAAAPOgSAFDpEgAXQt1zBQAAADzo EgAFAAAAAAEAAA5K3XM86BIAAAAAAFxK3XNkdgAIAAAAACUAAAAMAAAAAQAAACcAAAAYAAAA AgAAAAAAAAD88uMAAAAAACUAAAAMAAAAAgAAACYAAAAcAAAAAwAAAAAAAAABAAAAAAAAAAAA AAAlAAAADAAAAAMAAAASAAAADAAAAAEAAAAhAAAACAAAABgAAAAMAAAAAAAAACYAAAAcAAAA BAAAAAAAAAABAAAAAAAAAAAAAAAlAAAADAAAAAQAAAASAAAADAAAAAIAAAAZAAAADAAAAP// /wASAAAADAAAAAEAAAAZAAAADAAAAP///wASAAAADAAAAAIAAAAZAAAADAAAAP///wASAAAA DAAAAAEAAAAZAAAADAAAAP///wASAAAADAAAAAIAAAAZAAAADAAAAP///wASAAAADAAAAAEA AAAZAAAADAAAAP///wASAAAADAAAAAIAAAAZAAAADAAAAP///wASAAAADAAAAAEAAAAZAAAA DAAAAP///wAlAAAADAAAAAMAAAAiAAAADAAAAP////8oAAAADAAAAAQAAAAnAAAAGAAAAAQA AAAAAAAAwL/AAAAAAAAlAAAADAAAAAQAAAAmAAAAHAAAAAUAAAAAAAAAAQAAAAAAAADAv8AA JQAAAAwAAAAFAAAAOQAAAAwAAAACAAAAKwAAABgAAAAIAQAA5v///3ABAACY////JQAAAAwA AAACAAAAKAAAAAwAAAAEAAAAJQAAAAwAAAADAAAAKAAAAAwAAAAFAAAAKwAAABgAAAAFAQAA 6f///20BAACb////UgAAAHABAAAFAAAA9v///wAAAAAAAAAAAAAAALwCAAAAAAABAAAAAEEA UgBJAEEATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAABIAAAAAAAAAAACE5xIArOcSALcskXzwLyIAmO7uAIznEgAAAAAAjqCAfAAA QACY7u4AjOcSAKWggHz45xIA0o8AAAAAAAAQAAAABQAAAPznEgD/AAAAwOcSAKUC1Xc86BIA /wAAANjnEgBscw4BCgAAAPUZ3XMAAOpzQAAAAAAAAABQ6RIAAAAAAGjl6nO85xIAWOkSABfv 5nP/////uOgSAJ4m3XMFAAAAUOkSAFDpEgAFAAAAAAASAD9C3XMAAMJ3CAAAAP////886BIA EAAAAC6lw3egGsZ3mOkSAEPDwncEAAAAzsPCdwfEwnf43x4O/////2R2AAggZGgBZHYACAAA AAAlAAAADAAAAAUAAABUAAAAcAAAABcBAAATAAAAOwEAAB4AAAABAAAAAADhQQCQ4sEnAQAA 4P///wYAAABMAAAAAAAAAAAAAAAAAAAA//////////9YAAAARgBhAGMAYQBkAGUABgAAAAYA AAAGAAAABgAAAAYAAAAGAAAAJQAAAAwAAAABAAAAGwAAABAAAAAFAQAAzv///zYAAAAQAAAA bQEAAM7///8YAAAADAAAAAAAgAAYAAAADAAAAAAAAAAYAAAADAAAAABAQABUAAAAWAAAAPoA AAAtAAAAAwEAADkAAAABAAAAAADhQQCQ4sEKAQAAxv///wIAAABMAAAAAAAAAAAAAAAAAAAA //////////9QAAAAKwAgAAYAAAADAAAAVAAAAHwAAAALAQAALQAAADQBAAA5AAAAAQAAAAAA 4UEAkOLBGwEAAMb///8IAAAATAAAAAAAAAAAAAAAAAAAAP//////////XAAAAEYAYQBjAGEA ZABlACgAKQAGAAAABgAAAAUAAAAGAAAABgAAAAYAAAADAAAAAwAAAFQAAABYAAAA+gAAADoA AAADAQAARgAAAAEAAAAAAOFBAJDiwQoBAAC5////AgAAAEwAAAAAAAAAAAAAAAAAAAD///// /////1AAAAArACAABgAAAAMAAABUAAAArAAAAAsBAAA6AAAAWQEAAEYAAAABAAAAAADhQQCQ 4sEbAQAAuf///xAAAABMAAAAAAAAAAAAAAAAAAAA//////////9sAAAATQBlAHQAaABvAGQA QQAoACkAIAA6ACAAdgBvAGkAZAAJAAAABgAAAAMAAAAGAAAABgAAAAYAAAAHAAAAAwAAAAMA AAADAAAAAwAAAAMAAAAFAAAABgAAAAMAAAAGAAAAVAAAAFgAAAD6AAAARwAAAAMBAABTAAAA AQAAAAAA4UEAkOLBCgEAAKz///8CAAAATAAAAAAAAAAAAAAAAAAAAP//////////UAAAACsA IAAGAAAAAwAAAFQAAACsAAAACwEAAEcAAABZAQAAUwAAAAEAAAAAAOFBAJDiwRsBAACs//// EAAAAEwAAAAAAAAAAAAAAAAAAAD//////////2wAAABNAGUAdABoAG8AZABCACgAKQAgADoA IAB2AG8AaQBkAAkAAAAGAAAAAwAAAAYAAAAGAAAABgAAAAcAAAADAAAAAwAAAAMAAAADAAAA AwAAAAUAAAAGAAAAAwAAAAYAAAAYAAAADAAAAAAAAAAnAAAAGAAAAAQAAAAAAAAAwL/AAAAA AAAlAAAADAAAAAQAAAAmAAAAHAAAAAYAAAAAAAAAAQAAAAAAAADAv8AAJQAAAAwAAAAGAAAA KwAAABgAAAAdAAAAxf///4QAAACR////JQAAAAwAAAACAAAAKAAAAAwAAAAEAAAAJQAAAAwA AAADAAAAKAAAAAwAAAAGAAAAKwAAABgAAAAaAAAAyP///4EAAACU////JQAAAAwAAAAFAAAA VAAAAKgAAAASAAAANAAAAGoAAAA/AAAAAQAAAAAA4UEAkOLBIgAAAL////8PAAAATAAAAAAA AAAAAAAAAAAAAP//////////bAAAAFMAdQBiAHMAeQBzAHQAZQBtAEMAbABhAHMAcwAxAAAA BwAAAAYAAAAGAAAABgAAAAUAAAAGAAAAAwAAAAYAAAAJAAAABwAAAAMAAAAGAAAABgAAAAYA AAAGAAAAJQAAAAwAAAABAAAAGwAAABAAAAAaAAAArf///zYAAAAQAAAAgQAAAK3///8YAAAA DAAAAAAAgAAYAAAADAAAAAAAAAAYAAAADAAAAABAQABUAAAAWAAAAA8AAABOAAAAGAAAAFoA AAABAAAAAADhQQCQ4sEfAAAApf///wIAAABMAAAAAAAAAAAAAAAAAAAA//////////9QAAAA KwAgAAYAAAADAAAAVAAAAKwAAAAgAAAATgAAAG0AAABaAAAAAQAAAAAA4UEAkOLBMAAAAKX/ //8QAAAATAAAAAAAAAAAAAAAAAAAAP//////////bAAAAE0AZQB0AGgAbwBkADEAKAApACAA OgAgAHYAbwBpAGQACQAAAAYAAAADAAAABgAAAAYAAAAGAAAABgAAAAMAAAADAAAAAwAAAAMA AAADAAAABQAAAAYAAAADAAAABgAAABgAAAAMAAAAAAAAACcAAAAYAAAABgAAAAAAAADAv8AA AAAAACUAAAAMAAAABgAAACYAAAAcAAAABAAAAAAAAAABAAAAAAAAAMC/wAAlAAAADAAAAAQA AAArAAAAGAAAAE4AAAB6////tQAAAEb///8lAAAADAAAAAIAAAAoAAAADAAAAAYAAAAlAAAA DAAAAAMAAAAoAAAADAAAAAQAAAArAAAAGAAAAEsAAAB9////sgAAAEn///8lAAAADAAAAAUA AABUAAAAqAAAAEMAAAB/AAAAmwAAAIoAAAABAAAAAADhQQCQ4sFTAAAAdP///w8AAABMAAAA AAAAAAAAAAAAAAAA//////////9sAAAAUwB1AGIAcwB5AHMAdABlAG0AQwBsAGEAcwBzADIA AAAHAAAABgAAAAYAAAAGAAAABQAAAAYAAAADAAAABgAAAAkAAAAHAAAAAwAAAAYAAAAGAAAA BgAAAAYAAAAlAAAADAAAAAEAAAAbAAAAEAAAAEsAAABi////NgAAABAAAACyAAAAYv///xgA AAAMAAAAAACAABgAAAAMAAAAAAAAABgAAAAMAAAAAEBAAFQAAABYAAAAQAAAAJkAAABJAAAA pQAAAAEAAAAAAOFBAJDiwVAAAABa////AgAAAEwAAAAAAAAAAAAAAAAAAAD//////////1AA AAArACAABgAAAAMAAABUAAAArAAAAFEAAACZAAAAngAAAKUAAAABAAAAAADhQQCQ4sFhAAAA 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 AAAQAAAAFAAAAA==</UMLPattern.PreviewImage>
          </UMLPattern>
        </XMI.extensions>
      </XMI>
    </UMLPattern>
    <UMLPattern>
      <XMI xmi.version="1.1" xmlns:UML="omg.org/UML1.3" timestamp="2005-02-11 15:27:12">
        <XMI.header>
          <XMI.documentation>
            <XMI.exporter>Enterprise Architect</XMI.exporter>
            <XMI.exporterVersion>2.5</XMI.exporterVersion>
          </XMI.documentation>
        </XMI.header>
        <XMI.content>
          <UML:Model name="EA Model" xmi.id="MX_EAID_67E713C9_938E_45c1_B8A1_C6500E489659">
            <UML:Namespace.ownedElement>
              <UML:Class name="Product" xmi.id="EAID_1DFDEC47_6B43_48a7_847A_079D26892A4F" visibility="public" namespace="EAPK_67E713C9_938E_45c1_B8A1_C6500E489659" isRoot="false" isLeaf="false" isAbstract="true" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class defines the interface of objects the factory method creates."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_67E713C9_938E_45c1_B8A1_C6500E489659"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-06 21:27:51"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-09 11:31:31"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Factory Method"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
              </UML:Class>
              <UML:Generalization subtype="EAID_59ABF373_856E_4176_BF58_B742992F0977" supertype="EAID_1DFDEC47_6B43_48a7_847A_079D26892A4F" xmi.id="EAID_11C13B79_9367_488f_BBE0_0A29D71A9EAB" visibility="public">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="2"/>
                  <UML:TaggedValue tag="ea_type" value="Generalization"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="2"/>
                  <UML:TaggedValue tag="linecolor" value="0"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="src_visibility" value="Public"/>
                  <UML:TaggedValue tag="src_aggregation" value="0"/>
                  <UML:TaggedValue tag="src_isOrdered" value="false"/>
                  <UML:TaggedValue tag="src_isNavigable" value="false"/>
                  <UML:TaggedValue tag="dst_visibility" value="Public"/>
                  <UML:TaggedValue tag="dst_aggregation" value="0"/>
                  <UML:TaggedValue tag="dst_isOrdered" value="false"/>
                  <UML:TaggedValue tag="dst_isNavigable" value="false"/>
                </UML:ModelElement.taggedValue>
              </UML:Generalization>
              <UML:Class name="ConcreteProduct" xmi.id="EAID_59ABF373_856E_4176_BF58_B742992F0977" visibility="public" namespace="EAPK_67E713C9_938E_45c1_B8A1_C6500E489659" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class implements the Product interface."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_67E713C9_938E_45c1_B8A1_C6500E489659"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-06 21:28:01"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-09 11:31:31"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Factory Method"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
              </UML:Class>
              <UML:Dependency client="EAID_680FDDA0_68E2_426e_87ED_A52EAB6A46BB" supplier="EAID_59ABF373_856E_4176_BF58_B742992F0977" xmi.id="EAID_A0E4959A_674D_4386_BD69_6B21B9F6B297" visibility="public">
                <UML:ModelElement.stereotype>
                  <UML:Stereotype name="instantiate"/>
                </UML:ModelElement.stereotype>
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="3"/>
                  <UML:TaggedValue tag="ea_type" value="Dependency"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="3"/>
                  <UML:TaggedValue tag="linecolor" value="0"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="stereotype" value="instantiate"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="src_visibility" value="Public"/>
                  <UML:TaggedValue tag="src_aggregation" value="0"/>
                  <UML:TaggedValue tag="src_isOrdered" value="false"/>
                  <UML:TaggedValue tag="src_isNavigable" value="false"/>
                  <UML:TaggedValue tag="dst_visibility" value="Public"/>
                  <UML:TaggedValue tag="dst_aggregation" value="0"/>
                  <UML:TaggedValue tag="dst_isOrdered" value="false"/>
                  <UML:TaggedValue tag="dst_isNavigable" value="false"/>
                </UML:ModelElement.taggedValue>
              </UML:Dependency>
              <UML:Class name="Creator" xmi.id="EAID_E51E9A4B_E1A9_4194_B1FC_315AF18F2436" visibility="public" namespace="EAPK_67E713C9_938E_45c1_B8A1_C6500E489659" isRoot="false" isLeaf="false" isAbstract="true" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class (a) declares the factory method, which returns an object of type Product. Creator may also define a default implementation of the factory method that returns a default ConcreteProduct object, and (b) may call the factory method to create a Product object."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_67E713C9_938E_45c1_B8A1_C6500E489659"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-06 21:28:25"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-09 11:31:31"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Factory Method"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="FactoryMethod" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="Product"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="isAbstract" value="1"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{133389D2-BF32-4973-A04F-F94EEF71A630}"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="EAID_1DFDEC47_6B43_48a7_847A_079D26892A4F"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="Product"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="classifier" value="EAID_1DFDEC47_6B43_48a7_847A_079D26892A4F"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-BF32-4973-A04F-F94EEF71A630}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
              <UML:Generalization subtype="EAID_680FDDA0_68E2_426e_87ED_A52EAB6A46BB" supertype="EAID_E51E9A4B_E1A9_4194_B1FC_315AF18F2436" xmi.id="EAID_BB285F57_3C50_40af_A2C3_A94FF7D3216E" visibility="public">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="2"/>
                  <UML:TaggedValue tag="ea_type" value="Generalization"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="2"/>
                  <UML:TaggedValue tag="linecolor" value="0"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="src_visibility" value="Public"/>
                  <UML:TaggedValue tag="src_aggregation" value="0"/>
                  <UML:TaggedValue tag="src_isOrdered" value="false"/>
                  <UML:TaggedValue tag="src_isNavigable" value="false"/>
                  <UML:TaggedValue tag="dst_visibility" value="Public"/>
                  <UML:TaggedValue tag="dst_aggregation" value="0"/>
                  <UML:TaggedValue tag="dst_isOrdered" value="false"/>
                  <UML:TaggedValue tag="dst_isNavigable" value="false"/>
                </UML:ModelElement.taggedValue>
              </UML:Generalization>
              <UML:Class name="ConcreteCreator" xmi.id="EAID_680FDDA0_68E2_426e_87ED_A52EAB6A46BB" visibility="public" namespace="EAPK_67E713C9_938E_45c1_B8A1_C6500E489659" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class overrides the factory method to return an instance of a ConcreteProduct."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_67E713C9_938E_45c1_B8A1_C6500E489659"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-06 21:30:09"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-09 11:31:31"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Factory Method"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="FactoryMethod" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="Product"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="behaviour" value="return new ConcreteProduct();"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{26E35B3A-4195-4964-988B-2B545DF3C288}"/>
                      <UML:TaggedValue tag="styleex" value="ShowBeh=0;"/>
                      <UML:TaggedValue tag="override" value="true" xmi.id="EAID_4A61EB39_3F9E_4945_A398_A0B5E6615C72"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="EAID_1DFDEC47_6B43_48a7_847A_079D26892A4F"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="Product"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="classifier" value="EAID_1DFDEC47_6B43_48a7_847A_079D26892A4F"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-4195-4964-988B-2B545DF3C288}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
            </UML:Namespace.ownedElement>
          </UML:Model>
          <UML:Diagram name="Factory Method" xmi.id="EAID_67BC42FF_EBFE_4516_BEEA_C112C45C9BD4" diagramType="ClassDiagram" owner="EAPK_67BC42FF_EBFE_4516_BEEA_C112C45C9BD4" toolName="Enterprise Architect 2.5">
            <UML:ModelElement.taggedValue>
              <UML:TaggedValue tag="documentation" value="This pattern defines an interface for creating an object, but lets subclasses decide which class to instantiate. It lets a class defer instantiation to subclasses."/>
              <UML:TaggedValue tag="version" value="1.0"/>
              <UML:TaggedValue tag="created_date" value="2004-12-14 13:31:39"/>
              <UML:TaggedValue tag="modified_date" value="2005-02-03 11:36:27"/>
              <UML:TaggedValue tag="package" value="EAPK_67E713C9_938E_45c1_B8A1_C6500E489659"/>
              <UML:TaggedValue tag="type" value="Logical"/>
              <UML:TaggedValue tag="swimlanes" value="locked=false;orientation=0;width=0;inbar=false;names=false;color=0;bold=false;fcol=0;;cls=0;"/>
              <UML:TaggedValue tag="EAStyle" value="ShowPrivate=1;ShowProtected=1;ShowPublic=1;HideRelationships=0;Locked=0;Border=1;HighlightForeign=1;PackageContents=1;SequenceNotes=0;ScalePrintImage=0;PPgs.cx=0;PPgs.cy=0;DocSize.cx=780;DocSize.cy=1138;ShowDetails=0;Orientation=P;Zoom=100;ShowTags=0;OpParams=1;ShowIcons=1;CollabNums=0;HideProps=0;ShowReqs=0;ShowCons=0;PaperSize=9;HideParents=0;UseAlias=0;HideAtts=0;HideOps=0;HideStereo=0;HideElemStereo=0;ShowTests=0;ShowMaint=0;"/>
              <UML:TaggedValue tag="styleex" value="ExcludeRTF=0;DocAll=0;HideQuals=0;AttPkg=1;ShowTests=0;ShowMaint=0;SuppressFOC=0;TDurLow=0;TDurHigh=100;TDurUnit=;TDurHide=0;"/>
            </UML:ModelElement.taggedValue>
            <UML:Diagram.element>
              <UML:DiagramElement geometry="Left=244;Top=186;Right=392;Bottom=265;imgL=192;imgT=133;imgR=340;imgB=212;" subject="EAID_680FDDA0_68E2_426e_87ED_A52EAB6A46BB" seqno="1" style="DUID=94352A2C;LBL=;"/>
              <UML:DiagramElement geometry="Left=243;Top=63;Right=390;Bottom=133;imgL=191;imgT=10;imgR=338;imgB=80;" subject="EAID_E51E9A4B_E1A9_4194_B1FC_315AF18F2436" seqno="2" style="DUID=7833676D;LBL=;"/>
              <UML:DiagramElement geometry="Left=63;Top=191;Right=153;Bottom=261;imgL=11;imgT=138;imgR=101;imgB=208;" subject="EAID_59ABF373_856E_4176_BF58_B742992F0977" seqno="3" style="DUID=B7476DC9;LBL=;"/>
              <UML:DiagramElement geometry="Left=62;Top=65;Right=152;Bottom=135;imgL=10;imgT=12;imgR=100;imgB=82;" subject="EAID_1DFDEC47_6B43_48a7_847A_079D26892A4F" seqno="4" style="DUID=0BBE828B;LBL=;"/>
              <UML:DiagramElement geometry="EDGE=1;$LLB=;LLT=;LMT=;LMB=;LRT=;LRB=;Path=;" subject="EAID_11C13B79_9367_488f_BBE0_0A29D71A9EAB" style="Mode=2;EOID=0BBE828B;SOID=B7476DC9;Hidden=0;"/>
              <UML:DiagramElement geometry="EDGE=4;$LLB=;LLT=;LMT=;LMB=CX=71:CY=15:OX=0:OY=0:HDN=0:BLD=0:ITA=0:UND=0:CLR=-1:ALN=0:DIR=0:ROT=0;LRT=;LRB=;Path=;" subject="EAID_A0E4959A_674D_4386_BD69_6B21B9F6B297" style="Mode=3;EOID=B7476DC9;SOID=94352A2C;Hidden=0;"/>
              <UML:DiagramElement geometry="EDGE=1;$LLB=;LLT=;LMT=;LMB=;LRT=;LRB=;Path=;" subject="EAID_BB285F57_3C50_40af_A2C3_A94FF7D3216E" style="Mode=2;EOID=7833676D;SOID=94352A2C;Hidden=0;"/>
            </UML:Diagram.element>
          </UML:Diagram>
        </XMI.content>
        <XMI.difference/>
        <XMI.extensions xmi.extender="Enterprise Architect 2.5">
          <EAStub xmi.id="EAID_59ABF373_856E_4176_BF58_B742992F0977" name="ConcreteProduct" UMLType="Class"/>
          <EAStub xmi.id="EAID_1DFDEC47_6B43_48a7_847A_079D26892A4F" name="Product" UMLType="Class"/>
          <EAStub xmi.id="EAID_680FDDA0_68E2_426e_87ED_A52EAB6A46BB" name="ConcreteCreator" UMLType="Class"/>
          <EAStub xmi.id="EAID_E51E9A4B_E1A9_4194_B1FC_315AF18F2436" name="Creator" UMLType="Class"/>
          <UMLPattern name="Factory Method" category="GoF Creational Patterns" version="1.0" notes="This pattern defines an interface for creating an object, but lets subclasses decide which class to instantiate. It lets a class defer instantiation to subclasses.">
            <UMLPattern.PromptList>
              <Element name="ConcreteCreator:Class" guid="EAID_680FDDA0_68E2_426e_87ED_A52EAB6A46BB" id="776" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class overrides the factory method to return an instance of a ConcreteProduct.">
                  <![CDATA[This class overrides the factory method to return an instance of a ConcreteProduct.]]>
                </Comment>
              </Element>
              <Element name="Creator:Class" guid="EAID_E51E9A4B_E1A9_4194_B1FC_315AF18F2436" id="775" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class (a) declares the factory method, which returns an object of type Product. Creator may also define a default implementation of the factory method that returns a default ConcreteProduct object, and (b) may call the factory method to create a Product object.">
                  <![CDATA[This class (a) declares the factory method, which returns an object of type Product. Creator may also define a default implementation of the factory method that returns a default ConcreteProduct object, and (b) may call the factory method to create a Product object.]]>
                </Comment>
              </Element>
              <Element name="ConcreteProduct:Class" guid="EAID_59ABF373_856E_4176_BF58_B742992F0977" id="774" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class implements the Product interface.">
                  <![CDATA[This class implements the Product interface.]]>
                </Comment>
              </Element>
              <Element name="Product:Class" guid="EAID_1DFDEC47_6B43_48a7_847A_079D26892A4F" id="773" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class defines the interface of objects the factory method creates.">
                  <![CDATA[This class defines the interface of objects the factory method creates.]]>
                </Comment>
              </Element>
            </UMLPattern.PromptList>
            <UMLPattern.PreviewImage xmlns:dt="urn:schemas-microsoft-com:datatypes" dt:dt="bin.base64" cx="9843" cy="6287">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 AAAIAAAAGwAAABAAAAD0AAAAH////zYAAAAQAAAA8QAAAB////8bAAAAEAAAAO4AAAAf//// NgAAABAAAADrAAAAH////xsAAAAQAAAA6AAAAB////82AAAAEAAAAOUAAAAf////GwAAABAA AADiAAAAH////zYAAAAQAAAA3wAAAB////8bAAAAEAAAANwAAAAf////NgAAABAAAADZAAAA H////xsAAAAQAAAA1gAAAB////82AAAAEAAAANMAAAAf////GwAAABAAAADQAAAAH////zYA AAAQAAAAzQAAAB////8bAAAAEAAAAMoAAAAf////NgAAABAAAADHAAAAH////xsAAAAQAAAA xAAAAB////82AAAAEAAAAMEAAAAf////GwAAABAAAAC+AAAAH////zYAAAAQAAAAuwAAAB// //8bAAAAEAAAALgAAAAf////NgAAABAAAAC1AAAAH////xsAAAAQAAAAsgAAAB////82AAAA EAAAAK8AAAAf////GwAAABAAAACsAAAAH////zYAAAAQAAAAqQAAAB////8bAAAAEAAAAKYA AAAf////NgAAABAAAACjAAAAH////xsAAAAQAAAAoAAAAB////82AAAAEAAAAJ0AAAAf//// GwAAABAAAACaAAAAH////zYAAAAQAAAAmQAAAB////8bAAAAEAAAAJkAAAAf////GwAAABAA AACZAAAAH////zYAAAAQAAAAqAAAACT///8bAAAAEAAAAJkAAAAf////NgAAABAAAACoAAAA Gv///xIAAAAMAAAAAgAAABkAAAAMAAAA////AFIAAABwAQAABAAAAPb///8AAAAAAAAAAAAA AAAAAAAAAAAAAQAAAABBAFIASQBBAEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAAAAAAAAAhOcSAKznEgC3LJF88C8iAJju 7gCM5xIAAAAAAI6ggHwAAEAAmO7uAIznEgCloIB8+OcSANKPAAAAAAAAEAAAAAUAAAD85xIA /wAAAMDnEgClAtV3POgSAP8AAADY5xIAbHMOAQoAAAD1Gd1zAADqc0AAAAAAAAAAUOkSAAAA AABo5epzvOcSAFjpEgAX7+Zz/////7joEgCeJt1zBQAAAFDpEgBQ6RIABQAAAAAAEgA/Qt1z AAAfDjzoEgAFAAAAPOgSAFDpEgAXQt1zBQAAADzoEgAFAAAAAAEAAA5K3XM86BIAAAAAAFxK 3XNkdgAIAAAAAGR2AAgAAAAAJQAAAAwAAAAEAAAAVAAAAJwAAAB1AAAArwAAALIAAAC7AAAA AQAAAAAA4UEAkOLBqQAAABz///8NAAAATAAAAAAAAAAAAAAAAAAAAP//////////aAAAAKsA aQBuAHMAdABhAG4AdABpAGEAdABlALsA//8GAAAAAwAAAAYAAAAEAAAAAwAAAAYAAAAGAAAA AwAAAAMAAAAGAAAAAwAAAAYAAAAGAAAAJQAAAAwAAAABAAAAKAAAAAwAAAAEAAAAEgAAAAwA AAABAAAAGQAAAAwAAAD///8AJQAAAAwAAAADAAAAKAAAAAwAAAAIAAAAJgAAABwAAAAIAAAA AAAAAAEAAAAAAAAAAAAAACUAAAAMAAAACAAAABsAAAAQAAAAPQEAAEb///82AAAAEAAAAD0B AABh////NgAAABAAAAA9AQAAYf///zYAAAAQAAAAPQEAAHv///8bAAAAEAAAAD0BAAB7//// VgAAACgAAAAEAQAAUAAAAA8BAABfAAAAAwAAAEMBbP84AWz/PQF7/xIAAAAMAAAAAgAAABkA AAAMAAAA////ABIAAAAMAAAAAQAAABkAAAAMAAAA////ACUAAAAMAAAAAwAAACgAAAAMAAAA CAAAACUAAAAMAAAADQAAgCgAAAAMAAAAAQAAACgAAAAMAAAABgAAACUAAAAMAAAAAAAAgCgA AAAMAAAAAgAAACUAAAAMAAAABwAAgCgAAAAMAAAAAwAAAA4AAAAUAAAAAAAAABAAAAAUAAAA </UMLPattern.PreviewImage>
          </UMLPattern>
        </XMI.extensions>
      </XMI>
    </UMLPattern>
    <UMLPattern>
      <XMI xmi.version="1.1" xmlns:UML="omg.org/UML1.3" timestamp="2005-02-11 15:21:33">
        <XMI.header>
          <XMI.documentation>
            <XMI.exporter>Enterprise Architect</XMI.exporter>
            <XMI.exporterVersion>2.5</XMI.exporterVersion>
          </XMI.documentation>
        </XMI.header>
        <XMI.content>
          <UML:Model name="EA Model" xmi.id="MX_EAID_1B3D62A5_4C01_4ca8_8317_5AF038AF57F7">
            <UML:Namespace.ownedElement>
              <UML:Class name="FlyweightFactory" xmi.id="EAID_3AC63257_D2C9_4361_8BA4_F272CCF8395F" visibility="public" namespace="EAPK_1B3D62A5_4C01_4ca8_8317_5AF038AF57F7" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class (a) creates and manages flyweight objects, and (b) ensures that flyweights are shared properly."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_1B3D62A5_4C01_4ca8_8317_5AF038AF57F7"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-06 23:09:36"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-11 14:58:19"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Flyweight"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="GetFlyweight" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="Flyweight"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="behaviour" value="return flyweights.get(key);"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{CE74E427-58E7-4c03-8201-B7DC7ABFA1E2}"/>
                      <UML:TaggedValue tag="styleex" value="ShowBeh=0;"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="EAID_8AE52DDA_9EEA_416a_AA40_E722F8D17D48"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="Flyweight"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="classifier" value="EAID_8AE52DDA_9EEA_416a_AA40_E722F8D17D48"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-58E7-4c03-8201-B7DC7ABFA1E2}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                      <UML:Parameter name="key" kind="in" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="Object"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{4D08E2F7-3072-4622-B775-6EDE0617A07A}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
              <UML:Association xmi.id="EAID_E1650D92_EDCC_452a_A2CB_E94684D17C93" visibility="public" isRoot="false" isLeaf="false" isAbstract="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="1"/>
                  <UML:TaggedValue tag="ea_type" value="Association"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="1"/>
                  <UML:TaggedValue tag="linecolor" value="0"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="privatedata5" value="EX=0;EY=0;EDGE=2;"/>
                  <UML:TaggedValue tag="virtualInheritance" value="0"/>
                  <UML:TaggedValue tag="lt" value="-flyweight"/>
                  <UML:TaggedValue tag="rb" value="1..*"/>
                </UML:ModelElement.taggedValue>
                <UML:Association.connection>
                  <UML:AssociationEnd visibility="private" aggregation="shared" isOrdered="false" isNavigable="false" type="EAID_3AC63257_D2C9_4361_8BA4_F272CCF8395F">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="containment" value="Unspecified"/>
                    </UML:ModelElement.taggedValue>
                  </UML:AssociationEnd>
                  <UML:AssociationEnd visibility="private" multiplicity="1..*" name="flyweights" aggregation="none" isOrdered="false" isNavigable="true" type="EAID_8AE52DDA_9EEA_416a_AA40_E722F8D17D48">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="containment" value="Unspecified"/>
                    </UML:ModelElement.taggedValue>
                  </UML:AssociationEnd>
                </UML:Association.connection>
              </UML:Association>
              <UML:Class name="Flyweight" xmi.id="EAID_8AE52DDA_9EEA_416a_AA40_E722F8D17D48" visibility="public" namespace="EAPK_1B3D62A5_4C01_4ca8_8317_5AF038AF57F7" isRoot="false" isLeaf="false" isAbstract="true" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class declares an interface through which flyweights can receive and act on extrinsic state."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_1B3D62A5_4C01_4ca8_8317_5AF038AF57F7"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-06 23:12:10"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-08 16:40:50"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Flyweight"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="Operation" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="isAbstract" value="1"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{F9791EEF-5CCE-4791-9708-68A3A9F57876}"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid1"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-5CCE-4791-9708-68A3A9F57876}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                      <UML:Parameter name="extrinsicState" kind="in" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="Object"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{FAC7D8EB-CA7F-4206-BAFB-D4108ED4A988}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
              <UML:Generalization subtype="EAID_4378BB3D_9567_46fa_9249_75912D3523CF" supertype="EAID_8AE52DDA_9EEA_416a_AA40_E722F8D17D48" xmi.id="EAID_A32CDDA9_06F4_45da_BC91_B17EBC0000C7" visibility="public">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="3"/>
                  <UML:TaggedValue tag="ea_type" value="Generalization"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="3"/>
                  <UML:TaggedValue tag="linecolor" value="0"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="subtype" value="Tree"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="src_visibility" value="Public"/>
                  <UML:TaggedValue tag="src_aggregation" value="0"/>
                  <UML:TaggedValue tag="src_isOrdered" value="false"/>
                  <UML:TaggedValue tag="src_isNavigable" value="false"/>
                  <UML:TaggedValue tag="dst_visibility" value="Public"/>
                  <UML:TaggedValue tag="dst_aggregation" value="0"/>
                  <UML:TaggedValue tag="dst_isOrdered" value="false"/>
                  <UML:TaggedValue tag="dst_isNavigable" value="false"/>
                  <UML:TaggedValue tag="$ea_xref_property" value="$XREFPROP=$XID={6756F4D4-D021-435a-8E40-4E57456994AD}$XID;$NAM=CustomProperties$NAM;$TYP=connector property$TYP;$VIS=Public$VIS;$DES=@PROP=@NAME=isSubstitutable@ENDNAME;@TYPE=boolean@ENDTYPE;@VALU=@ENDVALU;@PRMT=@ENDPRMT;@ENDPROP;$DES;$CLT={A32CDDA9-06F4-45da-BC91-B17EBC0000C7}$CLT;$SUP=&lt;none&gt;$SUP;$ENDXREF;"/>
                  <UML:TaggedValue tag="privatedata5" value="SX=0;SY=0;EDGE=1;"/>
                </UML:ModelElement.taggedValue>
              </UML:Generalization>
              <UML:Generalization subtype="EAID_26F7C362_9960_4458_83C0_1891B7356443" supertype="EAID_8AE52DDA_9EEA_416a_AA40_E722F8D17D48" xmi.id="EAID_DE6C4EA7_84CF_4883_9F14_C4CEA18E0C9E" visibility="public">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="3"/>
                  <UML:TaggedValue tag="ea_type" value="Generalization"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="3"/>
                  <UML:TaggedValue tag="linecolor" value="0"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="subtype" value="Tree"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="src_visibility" value="Public"/>
                  <UML:TaggedValue tag="src_aggregation" value="0"/>
                  <UML:TaggedValue tag="src_isOrdered" value="false"/>
                  <UML:TaggedValue tag="src_isNavigable" value="false"/>
                  <UML:TaggedValue tag="dst_visibility" value="Public"/>
                  <UML:TaggedValue tag="dst_aggregation" value="0"/>
                  <UML:TaggedValue tag="dst_isOrdered" value="false"/>
                  <UML:TaggedValue tag="dst_isNavigable" value="false"/>
                  <UML:TaggedValue tag="$ea_xref_property" value="$XREFPROP=$XID={D67BB66D-CF2D-4e78-A83C-639740EC7A47}$XID;$NAM=CustomProperties$NAM;$TYP=connector property$TYP;$VIS=Public$VIS;$DES=@PROP=@NAME=isSubstitutable@ENDNAME;@TYPE=boolean@ENDTYPE;@VALU=@ENDVALU;@PRMT=@ENDPRMT;@ENDPROP;$DES;$CLT={DE6C4EA7-84CF-4883-9F14-C4CEA18E0C9E}$CLT;$SUP=&lt;none&gt;$SUP;$ENDXREF;"/>
                  <UML:TaggedValue tag="privatedata5" value="SX=0;SY=0;EDGE=1;"/>
                </UML:ModelElement.taggedValue>
              </UML:Generalization>
              <UML:Class name="ConcreteFlyweight" xmi.id="EAID_4378BB3D_9567_46fa_9249_75912D3523CF" visibility="public" namespace="EAPK_1B3D62A5_4C01_4ca8_8317_5AF038AF57F7" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class implements the Flyweight interface and adds storage for intrinsic state, if any."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_1B3D62A5_4C01_4ca8_8317_5AF038AF57F7"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-06 23:16:31"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-08 16:40:50"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Flyweight"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="Operation" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{7BC0A7CD-A9D5-4f3f-987B-081F93D19F9B}"/>
                      <UML:TaggedValue tag="override" value="true" xmi.id="EAID_DAD9B775_920F_4ec9_9760_11EBA3E3B137"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid1"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-A9D5-4f3f-987B-081F93D19F9B}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                      <UML:Parameter name="extrinsicState" kind="in" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="Object"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{7FD45646-4B6F-4020-BF0D-940BDC019482}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
              <UML:Class name="UnsharedConcreteFlyweight" xmi.id="EAID_26F7C362_9960_4458_83C0_1891B7356443" visibility="public" namespace="EAPK_1B3D62A5_4C01_4ca8_8317_5AF038AF57F7" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="Not all Flyweight subclasses need to be shared. The Flyweight interface enables sharing; it doesn't enforce it."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_1B3D62A5_4C01_4ca8_8317_5AF038AF57F7"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-06 23:16:50"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-11 14:58:19"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Flyweight"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="Operation" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{6E613DF8-B65B-429a-B1B3-1FBBDA0FBEF7}"/>
                      <UML:TaggedValue tag="override" value="true" xmi.id="EAID_7D08997A_EE8B_4801_8B09_FACF12CF00A7"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid1"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-B65B-429a-B1B3-1FBBDA0FBEF7}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                      <UML:Parameter name="extrinsicState" kind="in" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="Object"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{542410E6-5662-4e72-A078-5D745F8BB202}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
            </UML:Namespace.ownedElement>
          </UML:Model>
          <UML:Diagram name="Flyweight" xmi.id="EAID_699980A3_1415_473b_A593_B161BF4287BF" diagramType="ClassDiagram" owner="EAPK_699980A3_1415_473b_A593_B161BF4287BF" toolName="Enterprise Architect 2.5">
            <UML:ModelElement.taggedValue>
              <UML:TaggedValue tag="documentation" value="This pattern uses sharing to support large numbers of fine-grained objects efficiently."/>
              <UML:TaggedValue tag="version" value="1.0"/>
              <UML:TaggedValue tag="created_date" value="2004-12-14 13:32:00"/>
              <UML:TaggedValue tag="modified_date" value="2005-02-11 14:58:19"/>
              <UML:TaggedValue tag="package" value="EAPK_1B3D62A5_4C01_4ca8_8317_5AF038AF57F7"/>
              <UML:TaggedValue tag="type" value="Logical"/>
              <UML:TaggedValue tag="swimlanes" value="locked=false;orientation=0;width=0;inbar=false;names=false;color=0;bold=false;fcol=0;;cls=0;"/>
              <UML:TaggedValue tag="EAStyle" value="ShowPrivate=1;ShowProtected=1;ShowPublic=1;HideRelationships=0;Locked=0;Border=1;HighlightForeign=1;PackageContents=1;SequenceNotes=0;ScalePrintImage=0;PPgs.cx=0;PPgs.cy=0;DocSize.cx=780;DocSize.cy=1138;ShowDetails=0;Orientation=P;Zoom=100;ShowTags=0;OpParams=1;ShowIcons=1;CollabNums=0;HideProps=0;ShowReqs=0;ShowCons=0;PaperSize=9;HideParents=0;UseAlias=0;HideAtts=0;HideOps=0;HideStereo=0;HideElemStereo=0;ShowTests=0;ShowMaint=0;"/>
              <UML:TaggedValue tag="styleex" value="ExcludeRTF=0;DocAll=0;HideQuals=0;AttPkg=1;ShowTests=0;ShowMaint=0;SuppressFOC=0;TDurLow=0;TDurHigh=100;TDurUnit=;TDurHide=0;"/>
            </UML:ModelElement.taggedValue>
            <UML:Diagram.element>
              <UML:DiagramElement geometry="Left=491;Top=241;Right=637;Bottom=316;imgL=414;imgT=187;imgR=560;imgB=262;" subject="EAID_26F7C362_9960_4458_83C0_1891B7356443" seqno="1" style="DUID=C67AD25D;LBL=;"/>
              <UML:DiagramElement geometry="Left=287;Top=241;Right=433;Bottom=316;imgL=210;imgT=187;imgR=356;imgB=262;" subject="EAID_4378BB3D_9567_46fa_9249_75912D3523CF" seqno="2" style="DUID=60DE5DEA;LBL=;"/>
              <UML:DiagramElement geometry="Left=390;Top=64;Right=527;Bottom=134;imgL=313;imgT=10;imgR=450;imgB=80;" subject="EAID_8AE52DDA_9EEA_416a_AA40_E722F8D17D48" seqno="3" style="DUID=C5568ADB;LBL=;"/>
              <UML:DiagramElement geometry="Left=87;Top=64;Right=267;Bottom=134;imgL=10;imgT=10;imgR=190;imgB=80;" subject="EAID_3AC63257_D2C9_4361_8BA4_F272CCF8395F" seqno="4" style="DUID=2CD61695;LBL=;"/>
              <UML:DiagramElement geometry="EX=0;EY=0;EDGE=2;$LLB=;LLT=;LMT=;LMB=;LRT=CX=59:CY=15:OX=0:OY=0:HDN=0:BLD=0:ITA=0:UND=0:CLR=-1:ALN=0:DIR=0:ROT=0;LRB=CX=26:CY=15:OX=0:OY=0:HDN=0:BLD=0:ITA=0:UND=0:CLR=-1:ALN=0:DIR=0:ROT=0;Path=;" subject="EAID_E1650D92_EDCC_452a_A2CB_E94684D17C93" style="Mode=1;EOID=C5568ADB;SOID=2CD61695;Hidden=0;"/>
              <UML:DiagramElement geometry="SX=0;SY=0;EDGE=1;EX=13;EY=0;$LLB=;LLT=;LMT=;LMB=;LRT=;LRB=;Path=360:-184$458:-184$;" subject="EAID_A32CDDA9_06F4_45da_BC91_B17EBC0000C7" style="Mode=3;EOID=C5568ADB;SOID=60DE5DEA;Hidden=0;"/>
              <UML:DiagramElement geometry="SX=0;SY=0;EDGE=1;$LLB=;LLT=;LMT=;LMB=;LRT=;LRB=;Path=564:-184$458:-184$;" subject="EAID_DE6C4EA7_84CF_4883_9F14_C4CEA18E0C9E" style="Mode=3;EOID=C5568ADB;SOID=C67AD25D;Hidden=0;"/>
            </UML:Diagram.element>
          </UML:Diagram>
        </XMI.content>
        <XMI.difference/>
        <XMI.extensions xmi.extender="Enterprise Architect 2.5">
          <EAStub xmi.id="EAID_3AC63257_D2C9_4361_8BA4_F272CCF8395F" name="FlyweightFactory" UMLType="Class"/>
          <EAStub xmi.id="EAID_8AE52DDA_9EEA_416a_AA40_E722F8D17D48" name="Flyweight" UMLType="Class"/>
          <EAStub xmi.id="EAID_4378BB3D_9567_46fa_9249_75912D3523CF" name="ConcreteFlyweight" UMLType="Class"/>
          <EAStub xmi.id="EAID_26F7C362_9960_4458_83C0_1891B7356443" name="UnsharedConcreteFlyweight" UMLType="Class"/>
          <UMLPattern name="Flyweight" category="GoF Structural Patterns" version="1.0" notes="This pattern uses sharing to support large numbers of fine-grained objects efficiently.">
            <UMLPattern.PromptList>
              <Element name="UnsharedConcreteFlyweight:Class" guid="EAID_26F7C362_9960_4458_83C0_1891B7356443" id="877" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="Not all Flyweight subclasses need to be shared. The Flyweight interface enables sharing; it doesn't enforce it.">
                  <![CDATA[Not all Flyweight subclasses need to be shared. The Flyweight interface enables sharing; it doesn't enforce it.]]>
                </Comment>
              </Element>
              <Element name="ConcreteFlyweight:Class" guid="EAID_4378BB3D_9567_46fa_9249_75912D3523CF" id="876" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class implements the Flyweight interface and adds storage for intrinsic state, if any.">
                  <![CDATA[This class implements the Flyweight interface and adds storage for intrinsic state, if any.]]>
                </Comment>
              </Element>
              <Element name="Flyweight:Class" guid="EAID_8AE52DDA_9EEA_416a_AA40_E722F8D17D48" id="875" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class declares an interface through which flyweights can receive and act on extrinsic state.">
                  <![CDATA[This class declares an interface through which flyweights can receive and act on extrinsic state.]]>
                </Comment>
              </Element>
              <Element name="FlyweightFactory:Class" guid="EAID_3AC63257_D2C9_4361_8BA4_F272CCF8395F" id="874" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class (a) creates and manages flyweight objects, and (b) ensures that flyweights are shared properly.">
                  <![CDATA[This class (a) creates and manages flyweight objects, and (b) ensures that flyweights are shared properly.]]>
                </Comment>
              </Element>
            </UMLPattern.PromptList>
            <UMLPattern.PreviewImage xmlns:dt="urn:schemas-microsoft-com:datatypes" dt:dt="bin.base64" cx="16031" cy="7703">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 AAAmAAAAHAAAAAcAAAAAAAAAAQAAAAAAAAAAAAAAJQAAAAwAAAAHAAAAGwAAABAAAABoAQAA D////zYAAAAQAAAAaAEAAEj///82AAAAEAAAAMoBAABI////NgAAABAAAADKAQAAev///xsA AAAQAAAAygEAAHr///9WAAAAKAAAAHgBAABQAAAAgwEAAF8AAAADAAAA0AFr/8UBa//KAXr/ EgAAAAwAAAACAAAAGQAAAAwAAAD///8AEgAAAAwAAAABAAAAGQAAAAwAAAD///8AJQAAAAwA AAADAAAAKAAAAAwAAAAHAAAAJgAAABwAAAAHAAAAAAAAAAEAAAAAAAAAAAAAACUAAAAMAAAA BwAAABsAAAAQAAAANAIAAA////82AAAAEAAAADQCAABI////NgAAABAAAADKAQAASP///zYA AAAQAAAAygEAAHr///8bAAAAEAAAAMoBAAB6////VgAAACgAAAB4AQAAUAAAAIMBAABfAAAA AwAAANABa//FAWv/ygF6/xIAAAAMAAAAAgAAABkAAAAMAAAA////ABIAAAAMAAAAAQAAABkA AAAMAAAA////ACUAAAAMAAAAAwAAACgAAAAMAAAABwAAACUAAAAMAAAADQAAgCgAAAAMAAAA AQAAACgAAAAMAAAABQAAACUAAAAMAAAAAAAAgCgAAAAMAAAAAgAAACUAAAAMAAAABwAAgCgA AAAMAAAAAwAAAA4AAAAUAAAAAAAAABAAAAAUAAAA</UMLPattern.PreviewImage>
          </UMLPattern>
        </XMI.extensions>
      </XMI>
    </UMLPattern>
    <UMLPattern>
      <XMI xmi.version="1.1" xmlns:UML="omg.org/UML1.3" timestamp="2005-02-11 15:41:47">
        <XMI.header>
          <XMI.documentation>
            <XMI.exporter>Enterprise Architect</XMI.exporter>
            <XMI.exporterVersion>2.5</XMI.exporterVersion>
          </XMI.documentation>
        </XMI.header>
        <XMI.content>
          <UML:Model name="EA Model" xmi.id="MX_EAID_1F0A6063_AE9F_486f_870B_2404D27CAD01">
            <UML:Namespace.ownedElement>
              <UML:Class name="AbstractExpression" xmi.id="EAID_F1F90278_570D_4e08_BE40_03A2C2430D75" visibility="public" namespace="EAPK_1F0A6063_AE9F_486f_870B_2404D27CAD01" isRoot="false" isLeaf="false" isAbstract="true" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class declares an abstract Interpret operation that is common to all nodes in the abstract syntax tree."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_1F0A6063_AE9F_486f_870B_2404D27CAD01"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-07 11:06:39"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-09 11:55:47"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Interpreter"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="Interpret" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="isAbstract" value="1"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{86378F66-CB27-4e25-B122-DADE4B1F6CFD}"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-CB27-4e25-B122-DADE4B1F6CFD}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                      <UML:Parameter name="context" kind="in" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="EAID_EE94DB00_EA26_4b8a_88F4_8AE154B7A29B"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="Context"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="classifier" value="EAID_EE94DB00_EA26_4b8a_88F4_8AE154B7A29B"/>
                          <UML:TaggedValue tag="ea_guid" value="{7621BC88-BFA4-4077-8D1E-69DA1C0BE0C2}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
              <UML:Dependency client="EAID_F1F90278_570D_4e08_BE40_03A2C2430D75" supplier="EAID_EE94DB00_EA26_4b8a_88F4_8AE154B7A29B" xmi.id="EAID_250BB0EA_CC83_4321_8727_3C6E6D11BA54" visibility="public">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="3"/>
                  <UML:TaggedValue tag="ea_type" value="Dependency"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="3"/>
                  <UML:TaggedValue tag="linecolor" value="-1"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="src_visibility" value="Public"/>
                  <UML:TaggedValue tag="src_isOrdered" value="false"/>
                  <UML:TaggedValue tag="src_isNavigable" value="false"/>
                  <UML:TaggedValue tag="dst_visibility" value="Public"/>
                  <UML:TaggedValue tag="dst_isOrdered" value="false"/>
                  <UML:TaggedValue tag="dst_isNavigable" value="true"/>
                </UML:ModelElement.taggedValue>
              </UML:Dependency>
              <UML:Generalization subtype="EAID_91DCB9B9_7C0D_4e37_B888_212157131D0B" supertype="EAID_F1F90278_570D_4e08_BE40_03A2C2430D75" xmi.id="EAID_2394FD7D_EEE6_46c3_BDBF_10B62AB9F91E" visibility="public">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="3"/>
                  <UML:TaggedValue tag="ea_type" value="Generalization"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="3"/>
                  <UML:TaggedValue tag="linecolor" value="0"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="subtype" value="Tree"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="src_visibility" value="Public"/>
                  <UML:TaggedValue tag="src_aggregation" value="0"/>
                  <UML:TaggedValue tag="src_isOrdered" value="false"/>
                  <UML:TaggedValue tag="src_isNavigable" value="false"/>
                  <UML:TaggedValue tag="dst_visibility" value="Public"/>
                  <UML:TaggedValue tag="dst_aggregation" value="0"/>
                  <UML:TaggedValue tag="dst_isOrdered" value="false"/>
                  <UML:TaggedValue tag="dst_isNavigable" value="false"/>
                  <UML:TaggedValue tag="privatedata5" value="SX=0;SY=0;"/>
                </UML:ModelElement.taggedValue>
              </UML:Generalization>
              <UML:Generalization subtype="EAID_C794D9F3_7746_42ae_AB7D_1DFA064DB62A" supertype="EAID_F1F90278_570D_4e08_BE40_03A2C2430D75" xmi.id="EAID_50BD5864_0060_4e23_A607_B5E50DB05D9D" visibility="public">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="3"/>
                  <UML:TaggedValue tag="ea_type" value="Generalization"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="3"/>
                  <UML:TaggedValue tag="linecolor" value="0"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="subtype" value="Tree"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="src_visibility" value="Public"/>
                  <UML:TaggedValue tag="src_aggregation" value="0"/>
                  <UML:TaggedValue tag="src_isOrdered" value="false"/>
                  <UML:TaggedValue tag="src_isNavigable" value="false"/>
                  <UML:TaggedValue tag="dst_visibility" value="Public"/>
                  <UML:TaggedValue tag="dst_aggregation" value="0"/>
                  <UML:TaggedValue tag="dst_isOrdered" value="false"/>
                  <UML:TaggedValue tag="dst_isNavigable" value="false"/>
                  <UML:TaggedValue tag="privatedata5" value="SX=0;SY=0;"/>
                </UML:ModelElement.taggedValue>
              </UML:Generalization>
              <UML:Association xmi.id="EAID_652E542B_88F4_480d_A160_0BA846914A54" visibility="public" isRoot="false" isLeaf="false" isAbstract="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="3"/>
                  <UML:TaggedValue tag="ea_type" value="Association"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="3"/>
                  <UML:TaggedValue tag="linecolor" value="0"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="privatedata5" value="SX=61;SY=-15;EX=46;EY=18;"/>
                  <UML:TaggedValue tag="virtualInheritance" value="0"/>
                </UML:ModelElement.taggedValue>
                <UML:Association.connection>
                  <UML:AssociationEnd visibility="public" aggregation="shared" isOrdered="false" isNavigable="false" type="EAID_C794D9F3_7746_42ae_AB7D_1DFA064DB62A">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="containment" value="Unspecified"/>
                    </UML:ModelElement.taggedValue>
                  </UML:AssociationEnd>
                  <UML:AssociationEnd visibility="public" multiplicity="1..*" aggregation="none" isOrdered="false" isNavigable="true" type="EAID_F1F90278_570D_4e08_BE40_03A2C2430D75">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="containment" value="Unspecified"/>
                    </UML:ModelElement.taggedValue>
                  </UML:AssociationEnd>
                </UML:Association.connection>
              </UML:Association>
              <UML:Class name="TerminalExpression" xmi.id="EAID_91DCB9B9_7C0D_4e37_B888_212157131D0B" visibility="public" namespace="EAPK_1F0A6063_AE9F_486f_870B_2404D27CAD01" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This classThis class implements an Interpret operation associated with terminal symbols in the grammar."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_1F0A6063_AE9F_486f_870B_2404D27CAD01"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-07 11:11:27"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-09 11:55:48"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Interpreter"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="Interpret" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{7823A641-D550-4ff8-83AD-676CE594A2FE}"/>
                      <UML:TaggedValue tag="override" value="true" xmi.id="EAID_9CA3FF6D_EC59_4969_95C4_3D04CF31817D"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-D550-4ff8-83AD-676CE594A2FE}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                      <UML:Parameter name="context" kind="in" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="EAID_EE94DB00_EA26_4b8a_88F4_8AE154B7A29B"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="Context"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="classifier" value="EAID_EE94DB00_EA26_4b8a_88F4_8AE154B7A29B"/>
                          <UML:TaggedValue tag="ea_guid" value="{10EC3F0E-00D9-4cac-86BC-D4B69F8B565A}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
              <UML:Class name="NonTerminalExpression" xmi.id="EAID_C794D9F3_7746_42ae_AB7D_1DFA064DB62A" visibility="public" namespace="EAPK_1F0A6063_AE9F_486f_870B_2404D27CAD01" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class maintains instance variables of type AbstractExpression for each symbol in a rule, and implements an Interpret operation for nonterminal symbols in the grammar."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_1F0A6063_AE9F_486f_870B_2404D27CAD01"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-07 11:11:43"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-09 11:55:48"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Interpreter"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="Interpret" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{51021E22-6AC9-4a65-83C7-ECFF8C2B2C91}"/>
                      <UML:TaggedValue tag="override" value="true" xmi.id="EAID_AF6196E5_DE0C_4be0_97CE_84C04C0470C5"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-6AC9-4a65-83C7-ECFF8C2B2C91}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                      <UML:Parameter name="context" kind="in" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="EAID_EE94DB00_EA26_4b8a_88F4_8AE154B7A29B"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="Context"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="classifier" value="EAID_EE94DB00_EA26_4b8a_88F4_8AE154B7A29B"/>
                          <UML:TaggedValue tag="ea_guid" value="{F076EB17-3F60-4148-8008-02DA2625ECFE}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
              <UML:Class name="Context" xmi.id="EAID_EE94DB00_EA26_4b8a_88F4_8AE154B7A29B" visibility="public" namespace="EAPK_1F0A6063_AE9F_486f_870B_2404D27CAD01" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="Contains information that's global to the interpreter."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_1F0A6063_AE9F_486f_870B_2404D27CAD01"/>
                  <UML:TaggedValue tag="date_created" value="2005-02-03 15:20:28"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-09 11:55:48"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Interpreter"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
              </UML:Class>
            </UML:Namespace.ownedElement>
          </UML:Model>
          <UML:Diagram name="Interpreter" xmi.id="EAID_E4E21D61_B937_4b0f_817C_F3C019B311C3" diagramType="ClassDiagram" owner="EAPK_E4E21D61_B937_4b0f_817C_F3C019B311C3" toolName="Enterprise Architect 2.5">
            <UML:ModelElement.taggedValue>
              <UML:TaggedValue tag="documentation" value="This pattern, given a language, defines a representation for its grammar along with an interpreter that uses the representation to interpret sentences in the language."/>
              <UML:TaggedValue tag="version" value="1.0"/>
              <UML:TaggedValue tag="created_date" value="2004-12-14 13:32:14"/>
              <UML:TaggedValue tag="modified_date" value="2005-02-03 15:20:28"/>
              <UML:TaggedValue tag="package" value="EAPK_1F0A6063_AE9F_486f_870B_2404D27CAD01"/>
              <UML:TaggedValue tag="type" value="Logical"/>
              <UML:TaggedValue tag="swimlanes" value="locked=false;orientation=0;width=0;inbar=false;names=false;color=0;bold=false;fcol=0;;cls=0;"/>
              <UML:TaggedValue tag="EAStyle" value="ShowPrivate=1;ShowProtected=1;ShowPublic=1;HideRelationships=0;Locked=0;Border=1;HighlightForeign=1;PackageContents=1;SequenceNotes=0;ScalePrintImage=0;PPgs.cx=0;PPgs.cy=0;DocSize.cx=780;DocSize.cy=1138;ShowDetails=0;Orientation=P;Zoom=100;ShowTags=0;OpParams=1;ShowIcons=1;CollabNums=0;HideProps=0;ShowReqs=0;ShowCons=0;PaperSize=9;HideParents=0;UseAlias=0;HideAtts=0;HideOps=0;HideStereo=0;HideElemStereo=0;ShowTests=0;ShowMaint=0;"/>
              <UML:TaggedValue tag="styleex" value="ExcludeRTF=0;DocAll=0;HideQuals=0;AttPkg=1;ShowTests=0;ShowMaint=0;SuppressFOC=0;TDurLow=0;TDurHigh=100;TDurUnit=;TDurHide=0;"/>
            </UML:ModelElement.taggedValue>
            <UML:Diagram.element>
              <UML:DiagramElement geometry="Left=63;Top=31;Right=153;Bottom=101;imgL=10;imgT=10;imgR=100;imgB=80;" subject="EAID_EE94DB00_EA26_4b8a_88F4_8AE154B7A29B" seqno="1" style="DUID=89CF949B;LBL=;"/>
              <UML:DiagramElement geometry="Left=312;Top=177;Right=449;Bottom=247;imgL=259;imgT=156;imgR=396;imgB=226;" subject="EAID_C794D9F3_7746_42ae_AB7D_1DFA064DB62A" seqno="2" style="DUID=E66126DD;LBL=;"/>
              <UML:DiagramElement geometry="Left=151;Top=177;Right=288;Bottom=247;imgL=98;imgT=156;imgR=235;imgB=226;" subject="EAID_91DCB9B9_7C0D_4e37_B888_212157131D0B" seqno="3" style="DUID=61D99248;LBL=;"/>
              <UML:DiagramElement geometry="Left=232;Top=31;Right=368;Bottom=101;imgL=179;imgT=10;imgR=315;imgB=80;" subject="EAID_F1F90278_570D_4e08_BE40_03A2C2430D75" seqno="4" style="DUID=45DF8B95;LBL=;"/>
              <UML:DiagramElement geometry="EDGE=4;$LLB=;LLT=;LMT=;LMB=;LRT=;LRB=;Path=;" subject="EAID_250BB0EA_CC83_4321_8727_3C6E6D11BA54" style="Mode=3;EOID=89CF949B;SOID=45DF8B95;Hidden=0;"/>
              <UML:DiagramElement geometry="SX=61;SY=-15;EX=46;EY=0;EDGE=2;$LLB=;LLT=;LMT=;LMB=;LRT=;LRB=CX=26:CY=15:OX=0:OY=0:HDN=0:BLD=0:ITA=0:UND=0:CLR=-1:ALN=0:DIR=0:ROT=0;Path=485:-227$485:-66$;" subject="EAID_652E542B_88F4_480d_A160_0BA846914A54" style="Mode=3;EOID=45DF8B95;SOID=E66126DD;Hidden=0;"/>
              <UML:DiagramElement geometry="SX=0;SY=0;EDGE=1;$LLB=;LLT=;LMT=;LMB=;LRT=;LRB=;Path=219:-151$300:-151$;" subject="EAID_2394FD7D_EEE6_46c3_BDBF_10B62AB9F91E" style="Mode=3;EOID=45DF8B95;SOID=61D99248;Hidden=0;"/>
              <UML:DiagramElement geometry="SX=0;SY=0;EDGE=1;$LLB=;LLT=;LMT=;LMB=;LRT=;LRB=;Path=380:-151$300:-151$;" subject="EAID_50BD5864_0060_4e23_A607_B5E50DB05D9D" style="Mode=3;EOID=45DF8B95;SOID=E66126DD;Hidden=0;"/>
            </UML:Diagram.element>
          </UML:Diagram>
        </XMI.content>
        <XMI.difference/>
        <XMI.extensions xmi.extender="Enterprise Architect 2.5">
          <EAStub xmi.id="EAID_F1F90278_570D_4e08_BE40_03A2C2430D75" name="AbstractExpression" UMLType="Class"/>
          <EAStub xmi.id="EAID_EE94DB00_EA26_4b8a_88F4_8AE154B7A29B" name="Context" UMLType="Class"/>
          <EAStub xmi.id="EAID_91DCB9B9_7C0D_4e37_B888_212157131D0B" name="TerminalExpression" UMLType="Class"/>
          <EAStub xmi.id="EAID_C794D9F3_7746_42ae_AB7D_1DFA064DB62A" name="NonTerminalExpression" UMLType="Class"/>
          <UMLPattern name="Interpreter" category="GoF Behavioral Patterns" version="1.0" notes="This pattern, given a language, defines a representation for its grammar along with an interpreter that uses the representation to interpret sentences in the language.">
            <UMLPattern.PromptList>
              <Element name="Context:Class" guid="EAID_EE94DB00_EA26_4b8a_88F4_8AE154B7A29B" id="1463" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="Contains information that's global to the interpreter.">
                  <![CDATA[Contains information that's global to the interpreter.]]>
                </Comment>
              </Element>
              <Element name="NonTerminalExpression:Class" guid="EAID_C794D9F3_7746_42ae_AB7D_1DFA064DB62A" id="598" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class maintains instance variables of type AbstractExpression for each symbol in a rule, and implements an Interpret operation for nonterminal symbols in the grammar.">
                  <![CDATA[This class maintains instance variables of type AbstractExpression for each symbol in a rule, and implements an Interpret operation for nonterminal symbols in the grammar.]]>
                </Comment>
              </Element>
              <Element name="TerminalExpression:Class" guid="EAID_91DCB9B9_7C0D_4e37_B888_212157131D0B" id="597" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This classThis class implements an Interpret operation associated with terminal symbols in the grammar.">
                  <![CDATA[This classThis class implements an Interpret operation associated with terminal symbols in the grammar.]]>
                </Comment>
              </Element>
              <Element name="AbstractExpression:Class" guid="EAID_F1F90278_570D_4e08_BE40_03A2C2430D75" id="596" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class declares an abstract Interpret operation that is common to all nodes in the abstract syntax tree.">
                  <![CDATA[This class declares an abstract Interpret operation that is common to all nodes in the abstract syntax tree.]]>
                </Comment>
              </Element>
            </UMLPattern.PromptList>
            <UMLPattern.PreviewImage xmlns:dt="urn:schemas-microsoft-com:datatypes" dt:dt="bin.base64" cx="12571" cy="6683">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 wL/AACUAAAAMAAAACAAAACsAAAAYAAAAOwEAAEz////DAQAAB////yUAAAAMAAAAAgAAACgA AAAMAAAABgAAACUAAAAMAAAAAwAAACgAAAAMAAAACAAAACsAAAAYAAAAOAEAAE/////AAQAA Cv///yUAAAAMAAAABwAAAFQAAADMAAAADQEAAKUAAACCAQAAsAAAAAEAAAAAAOFBAJDiwUIB AABG////FQAAAEwAAAAAAAAAAAAAAAAAAAD//////////3gAAABOAG8AbgBUAGUAcgBtAGkA bgBhAGwARQB4AHAAcgBlAHMAcwBpAG8AbgAAAAcAAAAGAAAABgAAAAUAAAAGAAAABAAAAAkA AAADAAAABgAAAAYAAAADAAAABwAAAAYAAAAGAAAABAAAAAYAAAAGAAAABgAAAAMAAAAGAAAA BgAAACUAAAAMAAAAAQAAABsAAAAQAAAAOAEAADT///82AAAAEAAAAMABAAA0////GAAAAAwA AAAAAIAAGAAAAAwAAAAAAAAAGAAAAAwAAAAAQEAAVAAAAFgAAAAIAQAAvwAAABEBAADLAAAA AQAAAAAA4UEAkOLBPQEAACz///8CAAAATAAAAAAAAAAAAAAAAAAAAP//////////UAAAACsA IAAGAAAAAwAAAFQAAADkAAAAGQEAAL8AAACHAQAAywAAAAEAAAAAAOFBAJDiwU4BAAAs//// GQAAAEwAAAAAAAAAAAAAAAAAAAD//////////4AAAABJAG4AdABlAHIAcAByAGUAdAAoAEMA bwBuAHQAZQB4AHQAKQAgADoAIAB2AG8AaQBkAAUAAwAAAAYAAAADAAAABgAAAAMAAAAGAAAA AwAAAAYAAAADAAAAAwAAAAcAAAAGAAAABgAAAAMAAAAGAAAABQAAAAMAAAADAAAAAwAAAAMA AAADAAAABQAAAAYAAAADAAAABgAAABgAAAAMAAAAAAAAACcAAAAYAAAACAAAAAAAAADAv8AA AAAAACUAAAAMAAAACAAAACYAAAAcAAAABgAAAAAAAAABAAAAAAAAAMC/wAAlAAAADAAAAAYA AAArAAAAGAAAAEIAAADe////mwAAAJn///8lAAAADAAAAAIAAAAoAAAADAAAAAgAAAAlAAAA DAAAAAMAAAAoAAAADAAAAAYAAAArAAAAGAAAAD8AAADh////mAAAAJz///8lAAAADAAAAAcA AABUAAAAeAAAACQAAAATAAAASQAAAB4AAAABAAAAAADhQQCQ4sFZAAAA2P///wcAAABMAAAA AAAAAAAAAAAAAAAA//////////9cAAAAQwBvAG4AdABlAHgAdAAyOwcAAAAGAAAABgAAAAMA AAAGAAAABgAAAAMAAAAlAAAADAAAAAEAAAAbAAAAEAAAAD8AAADG////NgAAABAAAACYAAAA xv///xgAAAAMAAAAAACAABgAAAAMAAAAAAAAABgAAAAMAAAAAEBAABgAAAAMAAAAAAAAACYA AAAcAAAABgAAAAAAAAABAAAAAAAAAAAAAAAlAAAADAAAAAYAAAAbAAAAEAAAAOgAAAC+//// NgAAABAAAADlAAAAvv///xsAAAAQAAAA4gAAAL7///82AAAAEAAAAN8AAAC+////GwAAABAA AADcAAAAvv///zYAAAAQAAAA2QAAAL7///8bAAAAEAAAANYAAAC+////NgAAABAAAADTAAAA vv///xsAAAAQAAAA0AAAAL7///82AAAAEAAAAM0AAAC+////GwAAABAAAADKAAAAvv///zYA AAAQAAAAxwAAAL7///8bAAAAEAAAAMQAAAC+////NgAAABAAAADBAAAAvv///xsAAAAQAAAA vgAAAL7///82AAAAEAAAALsAAAC+////GwAAABAAAAC4AAAAvv///zYAAAAQAAAAtQAAAL7/ //8bAAAAEAAAALIAAAC+////NgAAABAAAACvAAAAvv///xsAAAAQAAAArAAAAL7///82AAAA EAAAAKkAAAC+////GwAAABAAAACmAAAAvv///zYAAAAQAAAAowAAAL7///8bAAAAEAAAAKAA AAC+////NgAAABAAAACdAAAAvv///xsAAAAQAAAAmgAAAL7///82AAAAEAAAAJkAAAC+//// GwAAABAAAACZAAAAvv///xsAAAAQAAAAmQAAAL7///82AAAAEAAAAKgAAADD////GwAAABAA AACZAAAAvv///zYAAAAQAAAAqAAAALn///8SAAAADAAAAAIAAAAZAAAADAAAAP///wASAAAA DAAAAAEAAAAZAAAADAAAAP///wAlAAAADAAAAAMAAAAoAAAADAAAAAYAAAAmAAAAHAAAAAYA AAAAAAAAAQAAAAAAAAAAAAAAJQAAAAwAAAAGAAAAGwAAABAAAADBAQAAHf///zYAAAAQAAAA 5QEAAB3///82AAAAEAAAAOUBAAC+////NgAAABAAAABwAQAAvv///1YAAAAsAAAAjAEAAMoA AACgAQAA0gAAAAQAAADLASH/wQEd/8oBGf/VAR3/GwAAABAAAABwAQAAvv///xsAAAAQAAAA cAEAAL7///82AAAAEAAAAH8BAADE////GwAAABAAAABwAQAAvv///zYAAAAQAAAAfwEAALj/ //8SAAAADAAAAAIAAAAZAAAADAAAAP///wBSAAAAcAEAAAgAAAD2////AAAAAAAAAAAAAAAA AAAAAAAAAAEAAAAAQQBSAEkAQQBMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAAAAAAAAAITnEgCs5xIAtyyRfPAvIgCY7u4A jOcSAAAAAACOoIB8AABAAJju7gCM5xIApaCAfPjnEgDSjwAAAAAAABAAAAAFAAAA/OcSAP8A AADA5xIApQLVdzzoEgD/AAAA2OcSAGxzDgEKAAAA9RndcwAA6nNAAAAAAAAAAFDpEgAAAAAA aOXqc7znEgBY6RIAF+/mc/////+46BIAnibdcwUAAABQ6RIAUOkSAAUAAAAAABIAP0LdcwAA JA486BIABQAAADzoEgBQ6RIAF0LdcwUAAAA86BIABQAAAAABAAAOSt1zPOgSAAAAAABcSt1z ZHYACAAAAABkdgAIAAAAACUAAAAMAAAACAAAAFQAAABkAAAAPgEAADIAAABOAQAAPgAAAAEA AAAAAOFBAJDiwXMBAAC5////BAAAAEwAAAAAAAAAAAAAAAAAAAD//////////1QAAAAxAC4A LgAqAAYAAAADAAAAAwAAAAQAAAAlAAAADAAAAAEAAAAoAAAADAAAAAgAAAASAAAADAAAAAEA AAAZAAAADAAAAP///wAlAAAADAAAAAMAAAAoAAAADAAAAAYAAAAmAAAAHAAAAAYAAAAAAAAA AQAAAAAAAAAAAAAAJQAAAAwAAAAGAAAAGwAAABAAAADbAAAAT////zYAAAAQAAAA2wAAAGn/ //82AAAAEAAAACwBAABp////NgAAABAAAAAsAQAAm////xsAAAAQAAAALAEAAJv///9WAAAA KAAAAPIAAABQAAAA/QAAAF8AAAADAAAAMgGM/ycBjP8sAZv/EgAAAAwAAAACAAAAGQAAAAwA AAD///8AEgAAAAwAAAABAAAAGQAAAAwAAAD///8AJQAAAAwAAAADAAAAKAAAAAwAAAAGAAAA JgAAABwAAAAGAAAAAAAAAAEAAAAAAAAAAAAAACUAAAAMAAAABgAAABsAAAAQAAAAfAEAAE// //82AAAAEAAAAHwBAABp////NgAAABAAAAAsAQAAaf///zYAAAAQAAAALAEAAJv///8bAAAA EAAAACwBAACb////VgAAACgAAADyAAAAUAAAAP0AAABfAAAAAwAAADIBjP8nAYz/LAGb/xIA AAAMAAAAAgAAABkAAAAMAAAA////ABIAAAAMAAAAAQAAABkAAAAMAAAA////ACUAAAAMAAAA AwAAACgAAAAMAAAABgAAACUAAAAMAAAADQAAgCgAAAAMAAAAAQAAACgAAAAMAAAABwAAACUA AAAMAAAAAAAAgCgAAAAMAAAAAgAAACUAAAAMAAAABwAAgCgAAAAMAAAAAwAAAA4AAAAUAAAA AAAAABAAAAAUAAAA</UMLPattern.PreviewImage>
          </UMLPattern>
        </XMI.extensions>
      </XMI>
    </UMLPattern>
    <UMLPattern>
      <XMI xmi.version="1.1" xmlns:UML="omg.org/UML1.3" timestamp="2005-02-11 15:42:03">
        <XMI.header>
          <XMI.documentation>
            <XMI.exporter>Enterprise Architect</XMI.exporter>
            <XMI.exporterVersion>2.5</XMI.exporterVersion>
          </XMI.documentation>
        </XMI.header>
        <XMI.content>
          <UML:Model name="EA Model" xmi.id="MX_EAID_416F8E76_695C_4fc1_BD40_293899B9EF18">
            <UML:Namespace.ownedElement>
              <UML:Class name="Aggregate" xmi.id="EAID_E309F31D_6D9B_434a_A8A6_C5487A77E840" visibility="public" namespace="EAPK_416F8E76_695C_4fc1_BD40_293899B9EF18" isRoot="false" isLeaf="false" isAbstract="true" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class defines an interface for creating an Iterator object."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_416F8E76_695C_4fc1_BD40_293899B9EF18"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-07 11:15:43"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-09 15:42:23"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Iterator"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="CreateIterator" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="Iterator"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="isAbstract" value="1"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{AF2B4AF3-4342-48e2-899B-2F877CDE2A21}"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="EAID_E0A25314_7543_4461_A251_3DCCE7B67B34"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="Iterator"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="classifier" value="EAID_E0A25314_7543_4461_A251_3DCCE7B67B34"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-4342-48e2-899B-2F877CDE2A21}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
              <UML:Generalization subtype="EAID_8DDD7AAD_4507_4319_9E1D_AD6118C54500" supertype="EAID_E309F31D_6D9B_434a_A8A6_C5487A77E840" xmi.id="EAID_DFDC2EC9_CBA8_4414_970C_A6CA228E29EE" visibility="public">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="1"/>
                  <UML:TaggedValue tag="ea_type" value="Generalization"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="1"/>
                  <UML:TaggedValue tag="linecolor" value="0"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="src_visibility" value="Public"/>
                  <UML:TaggedValue tag="src_aggregation" value="0"/>
                  <UML:TaggedValue tag="src_isOrdered" value="false"/>
                  <UML:TaggedValue tag="src_isNavigable" value="false"/>
                  <UML:TaggedValue tag="dst_visibility" value="Public"/>
                  <UML:TaggedValue tag="dst_aggregation" value="0"/>
                  <UML:TaggedValue tag="dst_isOrdered" value="false"/>
                  <UML:TaggedValue tag="dst_isNavigable" value="false"/>
                  <UML:TaggedValue tag="$ea_xref_property" value="$XREFPROP=$XID={5C050732-094C-4b75-BB96-3388162D26B2}$XID;$NAM=CustomProperties$NAM;$TYP=connector property$TYP;$VIS=Public$VIS;$DES=@PROP=@NAME=isSubstitutable@ENDNAME;@TYPE=boolean@ENDTYPE;@VALU=@ENDVALU;@PRMT=@ENDPRMT;@ENDPROP;$DES;$CLT={DFDC2EC9-CBA8-4414-970C-A6CA228E29EE}$CLT;$SUP=&lt;none&gt;$SUP;$ENDXREF;"/>
                  <UML:TaggedValue tag="privatedata5" value="EDGE=1;"/>
                </UML:ModelElement.taggedValue>
              </UML:Generalization>
              <UML:Class name="ConcreteAggregate" xmi.id="EAID_8DDD7AAD_4507_4319_9E1D_AD6118C54500" visibility="public" namespace="EAPK_416F8E76_695C_4fc1_BD40_293899B9EF18" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class implements the Iterator creation interface to return an instance of the proper ConcreteIterator."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_416F8E76_695C_4fc1_BD40_293899B9EF18"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-07 11:16:22"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-09 16:03:46"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Iterator"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="CreateIterator" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="Iterator"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="behaviour" value="return new ConcreteIterator(this);"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="2"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{E73BAD6F-9769-4266-9E80-1760B9774707}"/>
                      <UML:TaggedValue tag="styleex" value="ShowBeh=0;"/>
                      <UML:TaggedValue tag="override" value="true" xmi.id="EAID_A6F5B0FF_C693_423c_A326_70AA42FD2231"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="EAID_E0A25314_7543_4461_A251_3DCCE7B67B34"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="Iterator"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="classifier" value="EAID_E0A25314_7543_4461_A251_3DCCE7B67B34"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-9769-4266-9E80-1760B9774707}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
              <UML:Association xmi.id="EAID_400BE855_6183_450e_B8BF_6B6982D5A88D" visibility="public" isRoot="false" isLeaf="false" isAbstract="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="3"/>
                  <UML:TaggedValue tag="ea_type" value="Association"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="3"/>
                  <UML:TaggedValue tag="linecolor" value="-1"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="virtualInheritance" value="0"/>
                </UML:ModelElement.taggedValue>
                <UML:Association.connection>
                  <UML:AssociationEnd visibility="public" aggregation="none" isOrdered="false" isNavigable="false" type="EAID_FA0AD73E_BE02_4a98_B343_534B947EBE79">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="containment" value="Unspecified"/>
                    </UML:ModelElement.taggedValue>
                  </UML:AssociationEnd>
                  <UML:AssociationEnd visibility="private" name="aggregate" aggregation="none" isOrdered="false" isNavigable="true" type="EAID_8DDD7AAD_4507_4319_9E1D_AD6118C54500">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="containment" value="Unspecified"/>
                    </UML:ModelElement.taggedValue>
                  </UML:AssociationEnd>
                </UML:Association.connection>
              </UML:Association>
              <UML:Class name="Iterator" xmi.id="EAID_E0A25314_7543_4461_A251_3DCCE7B67B34" visibility="public" namespace="EAPK_416F8E76_695C_4fc1_BD40_293899B9EF18" isRoot="false" isLeaf="false" isAbstract="true" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class defines an interface for accessing and traversing elements."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_416F8E76_695C_4fc1_BD40_293899B9EF18"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-07 11:17:29"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-09 15:42:23"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Iterator"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="First" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="Object"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="isAbstract" value="1"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{FFD0A808-1FC1-4984-BB65-CB993A9B5851}"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="Object"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-1FC1-4984-BB65-CB993A9B5851}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                  <UML:Operation name="Next" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="Object"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="isAbstract" value="1"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="1"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{E954DD6D-1084-49b5-A39A-7AB318934DB6}"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="Object"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-1084-49b5-A39A-7AB318934DB6}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                  <UML:Operation name="IsDone" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="boolean"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="isAbstract" value="1"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="2"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{9090B9F2-13C1-40ee-AA3B-9694F087FE0B}"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid1"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="boolean"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-13C1-40ee-AA3B-9694F087FE0B}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                  <UML:Operation name="CurrentItem" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="Object"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="isAbstract" value="1"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="3"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{59419E76-B8A0-4b0f-93F7-DFDB21CB2A4B}"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="Object"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-B8A0-4b0f-93F7-DFDB21CB2A4B}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
              <UML:Generalization subtype="EAID_FA0AD73E_BE02_4a98_B343_534B947EBE79" supertype="EAID_E0A25314_7543_4461_A251_3DCCE7B67B34" xmi.id="EAID_0A4AD678_FBFF_440f_91E3_4ABA9B237260" visibility="public">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="1"/>
                  <UML:TaggedValue tag="ea_type" value="Generalization"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="1"/>
                  <UML:TaggedValue tag="linecolor" value="0"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="src_visibility" value="Public"/>
                  <UML:TaggedValue tag="src_aggregation" value="0"/>
                  <UML:TaggedValue tag="src_isOrdered" value="false"/>
                  <UML:TaggedValue tag="src_isNavigable" value="false"/>
                  <UML:TaggedValue tag="dst_visibility" value="Public"/>
                  <UML:TaggedValue tag="dst_aggregation" value="0"/>
                  <UML:TaggedValue tag="dst_isOrdered" value="false"/>
                  <UML:TaggedValue tag="dst_isNavigable" value="false"/>
                  <UML:TaggedValue tag="$ea_xref_property" value="$XREFPROP=$XID={7A058499-77A5-4697-88D1-5FE0DA887EE4}$XID;$NAM=CustomProperties$NAM;$TYP=connector property$TYP;$VIS=Public$VIS;$DES=@PROP=@NAME=isSubstitutable@ENDNAME;@TYPE=boolean@ENDTYPE;@VALU=@ENDVALU;@PRMT=@ENDPRMT;@ENDPROP;$DES;$CLT={0A4AD678-FBFF-440f-91E3-4ABA9B237260}$CLT;$SUP=&lt;none&gt;$SUP;$ENDXREF;"/>
                  <UML:TaggedValue tag="privatedata5" value="EDGE=1;"/>
                </UML:ModelElement.taggedValue>
              </UML:Generalization>
              <UML:Class name="ConcreteIterator" xmi.id="EAID_FA0AD73E_BE02_4a98_B343_534B947EBE79" visibility="public" namespace="EAPK_416F8E76_695C_4fc1_BD40_293899B9EF18" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class (a) implements the Iterator interface and (b) keeps track of the current position in the traversal of the aggregate."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_416F8E76_695C_4fc1_BD40_293899B9EF18"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-07 11:18:32"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-09 15:42:23"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Iterator"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="ConcreteIterator" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="behaviour" value="this.aggregate = aggregate;"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{066661E4-9DCB-4510-88E1-C1C55077F676}"/>
                      <UML:TaggedValue tag="styleex" value="ShowBeh=0;"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid2"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-9DCB-4510-88E1-C1C55077F676}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                      <UML:Parameter name="aggregate" kind="in" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="EAID_71250FDB_2952_4e47_AE8C_B30C7793C446"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="ConcreteAggregate"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="classifier" value="EAID_71250FDB_2952_4e47_AE8C_B30C7793C446"/>
                          <UML:TaggedValue tag="ea_guid" value="{85B919B0-1CEB-4835-A49A-6447EA35F8FF}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                  <UML:Operation name="First" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="Object"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="1"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{D9C1AB88-CF8A-427b-BE12-EFB5105C6D29}"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="Object"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-CF8A-427b-BE12-EFB5105C6D29}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                  <UML:Operation name="Next" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="Object"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="2"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{81CE7821-83D1-4adc-8E66-AE2B54BC36C4}"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="Object"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-83D1-4adc-8E66-AE2B54BC36C4}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                  <UML:Operation name="IsDone" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="boolean"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="3"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{A6CCFB49-BD1F-4a48-ACBA-F4261E773CA1}"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid1"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="boolean"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-BD1F-4a48-ACBA-F4261E773CA1}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                  <UML:Operation name="CurrentItem" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="Object"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="4"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{8A914C80-D295-46ea-8E91-DF124ECAFF5C}"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="Object"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-D295-46ea-8E91-DF124ECAFF5C}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
            </UML:Namespace.ownedElement>
          </UML:Model>
          <UML:Diagram name="Iterator" xmi.id="EAID_BAA38BD9_DA63_42ea_9E54_1F300FC791B9" diagramType="ClassDiagram" owner="EAPK_BAA38BD9_DA63_42ea_9E54_1F300FC791B9" toolName="Enterprise Architect 2.5">
            <UML:ModelElement.taggedValue>
              <UML:TaggedValue tag="documentation" value="This pattern provides a way to access the elements of an aggregate object sequentially without exposing its underlying representation."/>
              <UML:TaggedValue tag="version" value="1.0"/>
              <UML:TaggedValue tag="created_date" value="2004-12-14 13:32:16"/>
              <UML:TaggedValue tag="modified_date" value="2005-02-09 15:42:23"/>
              <UML:TaggedValue tag="package" value="EAPK_416F8E76_695C_4fc1_BD40_293899B9EF18"/>
              <UML:TaggedValue tag="type" value="Logical"/>
              <UML:TaggedValue tag="swimlanes" value="locked=false;orientation=0;width=0;inbar=false;names=false;color=0;bold=false;fcol=0;;cls=0;"/>
              <UML:TaggedValue tag="EAStyle" value="ShowPrivate=1;ShowProtected=1;ShowPublic=1;HideRelationships=0;Locked=0;Border=1;HighlightForeign=1;PackageContents=1;SequenceNotes=0;ScalePrintImage=0;PPgs.cx=0;PPgs.cy=0;DocSize.cx=780;DocSize.cy=1138;ShowDetails=0;Orientation=P;Zoom=100;ShowTags=0;OpParams=1;ShowIcons=1;CollabNums=0;HideProps=0;ShowReqs=0;ShowCons=0;PaperSize=9;HideParents=0;UseAlias=0;HideAtts=0;HideOps=0;HideStereo=0;HideElemStereo=0;ShowTests=0;ShowMaint=0;"/>
              <UML:TaggedValue tag="styleex" value="ExcludeRTF=0;DocAll=0;HideQuals=0;AttPkg=1;ShowTests=0;ShowMaint=0;SuppressFOC=0;TDurLow=0;TDurHigh=100;TDurUnit=;TDurHide=0;"/>
            </UML:ModelElement.taggedValue>
            <UML:Diagram.element>
              <UML:DiagramElement geometry="Left=289;Top=182;Right=517;Bottom=287;imgL=241;imgT=158;imgR=469;imgB=263;" subject="EAID_FA0AD73E_BE02_4a98_B343_534B947EBE79" seqno="1" style="DUID=52E168E8;LBL=;"/>
              <UML:DiagramElement geometry="Left=342;Top=36;Right=466;Bottom=128;imgL=294;imgT=12;imgR=418;imgB=104;" subject="EAID_E0A25314_7543_4461_A251_3DCCE7B67B34" seqno="2" style="DUID=79B88A1C;LBL=;"/>
              <UML:DiagramElement geometry="Left=58;Top=200;Right=196;Bottom=270;imgL=10;imgT=176;imgR=148;imgB=246;" subject="EAID_8DDD7AAD_4507_4319_9E1D_AD6118C54500" seqno="3" style="DUID=A6156713;LBL=;"/>
              <UML:DiagramElement geometry="Left=59;Top=34;Right=195;Bottom=104;imgL=11;imgT=10;imgR=147;imgB=80;" subject="EAID_E309F31D_6D9B_434a_A8A6_C5487A77E840" seqno="4" style="DUID=A834931D;LBL=;"/>
              <UML:DiagramElement geometry="EDGE=1;$LLB=;LLT=;LMT=;LMB=;LRT=;LRB=;Path=;" subject="EAID_DFDC2EC9_CBA8_4414_970C_A6CA228E29EE" style="Mode=1;EOID=A834931D;SOID=A6156713;Hidden=0;"/>
              <UML:DiagramElement geometry="EDGE=4;$LLB=;LLT=;LMT=;LMB=;LRT=CX=61:CY=15:OX=0:OY=0:HDN=0:BLD=0:ITA=0:UND=0:CLR=-1:ALN=0:DIR=0:ROT=0;LRB=;Path=;" subject="EAID_400BE855_6183_450e_B8BF_6B6982D5A88D" style="Mode=3;EOID=A6156713;SOID=52E168E8;Hidden=0;"/>
              <UML:DiagramElement geometry="EDGE=1;$LLB=;LLT=;LMT=;LMB=;LRT=;LRB=;Path=;" subject="EAID_0A4AD678_FBFF_440f_91E3_4ABA9B237260" style="Mode=1;EOID=79B88A1C;SOID=52E168E8;Hidden=0;"/>
            </UML:Diagram.element>
          </UML:Diagram>
        </XMI.content>
        <XMI.difference/>
        <XMI.extensions xmi.extender="Enterprise Architect 2.5">
          <EAStub xmi.id="EAID_8DDD7AAD_4507_4319_9E1D_AD6118C54500" name="ConcreteAggregate" UMLType="Class"/>
          <EAStub xmi.id="EAID_E309F31D_6D9B_434a_A8A6_C5487A77E840" name="Aggregate" UMLType="Class"/>
          <EAStub xmi.id="EAID_FA0AD73E_BE02_4a98_B343_534B947EBE79" name="ConcreteIterator" UMLType="Class"/>
          <EAStub xmi.id="EAID_E0A25314_7543_4461_A251_3DCCE7B67B34" name="Iterator" UMLType="Class"/>
          <UMLPattern name="Iterator" category="GoF Behavioral Patterns" version="1.0" notes="This pattern provides a way to access the elements of an aggregate object sequentially without exposing its underlying representation.">
            <UMLPattern.PromptList>
              <Element name="ConcreteIterator:Class" guid="EAID_FA0AD73E_BE02_4a98_B343_534B947EBE79" id="602" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class (a) implements the Iterator interface and (b) keeps track of the current position in the traversal of the aggregate.">
                  <![CDATA[This class (a) implements the Iterator interface and (b) keeps track of the current position in the traversal of the aggregate.]]>
                </Comment>
              </Element>
              <Element name="Iterator:Class" guid="EAID_E0A25314_7543_4461_A251_3DCCE7B67B34" id="601" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class defines an interface for accessing and traversing elements.">
                  <![CDATA[This class defines an interface for accessing and traversing elements.]]>
                </Comment>
              </Element>
              <Element name="ConcreteAggregate:Class" guid="EAID_8DDD7AAD_4507_4319_9E1D_AD6118C54500" id="600" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class implements the Iterator creation interface to return an instance of the proper ConcreteIterator.">
                  <![CDATA[This class implements the Iterator creation interface to return an instance of the proper ConcreteIterator.]]>
                </Comment>
              </Element>
              <Element name="Aggregate:Class" guid="EAID_E309F31D_6D9B_434a_A8A6_C5487A77E840" id="599" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class defines an interface for creating an Iterator object.">
                  <![CDATA[This class defines an interface for creating an Iterator object.]]>
                </Comment>
              </Element>
            </UMLPattern.PromptList>
            <UMLPattern.PreviewImage xmlns:dt="urn:schemas-microsoft-com:datatypes" dt:dt="bin.base64" cx="13471" cy="7731">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 DAAAAAgAAAArAAAAGAAAAFYBAADc////0QEAAIH///8lAAAADAAAAAUAAABUAAAAfAAAAFIB AAAVAAAAdQEAAB8AAAABAAAAAADhQQCQ4sGCAQAA0////wgAAABMAAAAAAAAAAAAAAAAAAAA //////////9cAAAASQB0AGUAcgBhAHQAbwByAAMAAAADAAAABgAAAAQAAAAGAAAAAwAAAAYA AAAEAAAAJQAAAAwAAAABAAAAGwAAABAAAABWAQAAwf///zYAAAAQAAAA0QEAAMH///8YAAAA DAAAAAAAgAAYAAAADAAAAAAAAAAYAAAADAAAAABAQABUAAAAWAAAACsBAAAvAAAANAEAADsA AAABAAAAAADhQQCQ4sFbAQAAuf///wIAAABMAAAAAAAAAAAAAAAAAAAA//////////9QAAAA KwAgAAYAAAADAAAAJQAAAAwAAAAEAAAAVAAAAKwAAAA8AQAALwAAAH0BAAA7AAAAAQAAAAAA 4UEAkOLBbAEAALn///8QAAAATAAAAAAAAAAAAAAAAAAAAP//////////bAAAAEYAaQByAHMA dAAoACkAIAA6ACAATwBiAGoAZQBjAHQABgAAAAMAAAADAAAABQAAAAMAAAADAAAAAwAAAAMA AAADAAAAAwAAAAgAAAAGAAAAAgAAAAYAAAAFAAAAAwAAACUAAAAMAAAAAQAAACUAAAAMAAAA AQAAAFQAAABYAAAAKwEAADwAAAA0AQAASAAAAAEAAAAAAOFBAJDiwVsBAACs////AgAAAEwA AAAAAAAAAAAAAAAAAAD//////////1AAAAArACAABgAAAAMAAAAlAAAADAAAAAQAAABUAAAA qAAAADwBAAA8AAAAfgEAAEgAAAABAAAAAADhQQCQ4sFsAQAArP///w8AAABMAAAAAAAAAAAA AAAAAAAA//////////9sAAAATgBlAHgAdAAoACkAIAA6ACAATwBiAGoAZQBjAHQAAAAHAAAA BgAAAAUAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAAIAAAABgAAAAIAAAAGAAAABQAAAAMA AAAlAAAADAAAAAEAAAAlAAAADAAAAAEAAABUAAAAWAAAACsBAABJAAAANAEAAFUAAAABAAAA AADhQQCQ4sFbAQAAn////wIAAABMAAAAAAAAAAAAAAAAAAAA//////////9QAAAAKwAgAAYA AAADAAAAJQAAAAwAAAAEAAAAVAAAALgAAAA8AQAASQAAAJIBAABVAAAAAQAAAAAA4UEAkOLB bAEAAJ////8SAAAATAAAAAAAAAAAAAAAAAAAAP//////////cAAAAEkAcwBEAG8AbgBlACgA KQAgADoAIABiAG8AbwBsAGUAYQBuAAIAAAAFAAAABwAAAAYAAAAGAAAABgAAAAMAAAADAAAA AwAAAAMAAAADAAAABgAAAAYAAAAGAAAAAwAAAAYAAAAGAAAABgAAACUAAAAMAAAAAQAAACUA AAAMAAAAAQAAAFQAAABYAAAAKwEAAFYAAAA0AQAAYgAAAAEAAAAAAOFBAJDiwVsBAACS//// AgAAAEwAAAAAAAAAAAAAAAAAAAD//////////1AAAAArACAABgAAAAMAAAAlAAAADAAAAAQA AABUAAAA0AAAADwBAABWAAAAnQEAAGIAAAABAAAAAADhQQCQ4sFsAQAAkv///xYAAABMAAAA AAAAAAAAAAAAAAAA//////////94AAAAQwB1AHIAcgBlAG4AdABJAHQAZQBtACgAKQAgADoA IABPAGIAagBlAGMAdAAHAAAABgAAAAMAAAADAAAABgAAAAYAAAADAAAAAgAAAAMAAAAGAAAA BwAAAAMAAAADAAAAAwAAAAMAAAADAAAACAAAAAYAAAACAAAABgAAAAUAAAADAAAAJQAAAAwA AAABAAAAJQAAAAwAAAABAAAAGAAAAAwAAAAAAAAAJwAAABgAAAAIAAAAAAAAAMC/wAAAAAAA JQAAAAwAAAAIAAAAJgAAABwAAAAGAAAAAAAAAAEAAAAAAAAAwL/AACUAAAAMAAAABgAAACsA AAAYAAAAJAEAAEf///8HAgAA3/7//yUAAAAMAAAAAgAAACgAAAAMAAAACAAAACUAAAAMAAAA AwAAACgAAAAMAAAABgAAACsAAAAYAAAAIQEAAEr///8EAgAA4v7//yUAAAAMAAAABwAAAFQA AACsAAAAOwEAAKcAAACKAQAAsgAAAAEAAAAAAOFBAJDiwWsBAABB////EAAAAEwAAAAAAAAA AAAAAAAAAAD//////////2wAAABDAG8AbgBjAHIAZQB0AGUASQB0AGUAcgBhAHQAbwByAAcA AAAGAAAABgAAAAYAAAAEAAAABgAAAAMAAAAGAAAAAwAAAAMAAAAGAAAABAAAAAYAAAADAAAA BgAAAAQAAAAlAAAADAAAAAEAAAAbAAAAEAAAACEBAAAv////NgAAABAAAAAEAgAAL////xgA AAAMAAAAAACAABgAAAAMAAAAAAAAABgAAAAMAAAAAEBAAFQAAABYAAAA9gAAAMEAAAD/AAAA zQAAAAEAAAAAAOFBAJDiwSYBAAAn////AgAAAEwAAAAAAAAAAAAAAAAAAAD//////////1AA AAArACAABgAAAAMAAABUAAAAIAEAAAcBAADBAAAAswEAAM0AAAABAAAAAADhQQCQ4sE3AQAA J////yMAAABMAAAAAAAAAAAAAAAAAAAA//////////+UAAAAQwBvAG4AYwByAGUAdABlAEkA dABlAHIAYQB0AG8AcgAoAEMAbwBuAGMAcgBlAHQAZQBBAGcAZwByAGUAZwBhAHQAZQApAAAA BwAAAAYAAAAGAAAABQAAAAMAAAAGAAAAAwAAAAYAAAADAAAAAwAAAAYAAAADAAAABgAAAAMA AAAGAAAAAwAAAAMAAAAHAAAABgAAAAYAAAAFAAAAAwAAAAYAAAADAAAABgAAAAcAAAAGAAAA BgAAAAMAAAAGAAAABgAAAAYAAAADAAAABgAAAAMAAABUAAAAWAAAAPYAAADOAAAA/wAAANoA AAABAAAAAADhQQCQ4sEmAQAAGv///wIAAABMAAAAAAAAAAAAAAAAAAAA//////////9QAAAA KwAgAAYAAAADAAAAVAAAAKwAAAAHAQAAzgAAAEgBAADaAAAAAQAAAAAA4UEAkOLBNwEAABr/ //8QAAAATAAAAAAAAAAAAAAAAAAAAP//////////bAAAAEYAaQByAHMAdAAoACkAIAA6ACAA TwBiAGoAZQBjAHQABgAAAAMAAAADAAAABAAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAgA AAAGAAAAAwAAAAYAAAAFAAAAAwAAAFQAAABYAAAA9gAAANsAAAD/AAAA5wAAAAEAAAAAAOFB AJDiwSYBAAAN////AgAAAEwAAAAAAAAAAAAAAAAAAAD//////////1AAAAArACAABgAAAAMA AABUAAAAqAAAAAcBAADbAAAASgEAAOcAAAABAAAAAADhQQCQ4sE3AQAADf///w8AAABMAAAA AAAAAAAAAAAAAAAA//////////9sAAAATgBlAHgAdAAoACkAIAA6ACAATwBiAGoAZQBjAHQA AAAHAAAABgAAAAUAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAAIAAAABgAAAAMAAAAGAAAA BQAAAAMAAABUAAAAWAAAAPYAAADoAAAA/wAAAPQAAAABAAAAAADhQQCQ4sEmAQAAAP///wIA AABMAAAAAAAAAAAAAAAAAAAA//////////9QAAAAKwAgAAYAAAADAAAAVAAAALgAAAAHAQAA 6AAAAF0BAAD0AAAAAQAAAAAA4UEAkOLBNwEAAAD///8SAAAATAAAAAAAAAAAAAAAAAAAAP// ////////cAAAAEkAcwBEAG8AbgBlACgAKQAgADoAIABiAG8AbwBsAGUAYQBuAAMAAAAEAAAA BwAAAAYAAAAGAAAABgAAAAMAAAADAAAAAwAAAAMAAAADAAAABgAAAAYAAAAGAAAAAwAAAAYA AAAGAAAABgAAAFQAAABYAAAA9gAAAPUAAAD/AAAAAQEAAAEAAAAAAOFBAJDiwSYBAADz/v// AgAAAEwAAAAAAAAAAAAAAAAAAAD//////////1AAAAArACAABgAAAAMAAABUAAAA0AAAAAcB AAD1AAAAbAEAAAEBAAABAAAAAADhQQCQ4sE3AQAA8/7//xYAAABMAAAAAAAAAAAAAAAAAAAA //////////94AAAAQwB1AHIAcgBlAG4AdABJAHQAZQBtACgAKQAgADoAIABPAGIAagBlAGMA dAAHAAAABgAAAAMAAAADAAAABgAAAAYAAAADAAAAAwAAAAMAAAAGAAAACQAAAAMAAAADAAAA AwAAAAMAAAADAAAACAAAAAYAAAADAAAABgAAAAUAAAADAAAAGAAAAAwAAAAAAAAAJgAAABwA AAAGAAAAAAAAAAEAAAAAAAAAAAAAACUAAAAMAAAABgAAABsAAAAQAAAAfwAAADj///82AAAA EAAAAH8AAACY////GwAAABAAAAB/AAAAmP///1YAAAAoAAAASgAAAFAAAABVAAAAXwAAAAMA AACFAIn/egCJ/38AmP8SAAAADAAAAAIAAAAZAAAADAAAAP///wASAAAADAAAAAEAAAAZAAAA DAAAAP///wAlAAAADAAAAAMAAAAoAAAADAAAAAYAAAAmAAAAHAAAAAYAAAAAAAAAAQAAAAAA AAAAAAAAJQAAAAwAAAAGAAAAGwAAABAAAAAhAQAAFv///zYAAAAQAAAAxAAAABb///8bAAAA EAAAAMQAAAAW////GwAAABAAAADEAAAAFv///zYAAAAQAAAA0wAAABz///8bAAAAEAAAAMQA AAAW////NgAAABAAAADTAAAAEP///xIAAAAMAAAAAgAAABkAAAAMAAAA////AFIAAABwAQAA CAAAAPb///8AAAAAAAAAAAAAAAAAAAAAAAAAAQAAAABBAFIASQBBAEwAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAAAAAAAAA hOcSAKznEgC3LJF88C8iAJju7gCM5xIAAAAAAI6ggHwAAEAAmO7uAIznEgCloIB8+OcSANKP AAAAAAAAEAAAAAUAAAD85xIA/wAAAMDnEgClAtV3POgSAP8AAADY5xIAbHMOAQoAAAD1Gd1z AADqc0AAAAAAAAAAUOkSAAAAAABo5epzvOcSAFjpEgAX7+Zz/////7joEgCeJt1zBQAAAFDp EgBQ6RIABQAAAAAAEgA/Qt1zAAAkDjzoEgAFAAAAPOgSAFDpEgAXQt1zBQAAADzoEgAFAAAA AAEAAA5K3XM86BIAAAAAAFxK3XNkdgAIAAAAAGR2AAgAAAAAJQAAAAwAAAAIAAAAVAAAAIgA AACXAAAAwAAAAMoAAADMAAAAAQAAAAAA4UEAkOLBxwAAACj///8KAAAATAAAAAAAAAAAAAAA AAAAAP//////////YAAAAC0AYQBnAGcAcgBlAGcAYQB0AGUAAwAAAAYAAAAGAAAABgAAAAMA AAAGAAAABgAAAAYAAAADAAAABgAAACUAAAAMAAAAAQAAACgAAAAMAAAACAAAABIAAAAMAAAA AQAAABkAAAAMAAAA////ACUAAAAMAAAAAwAAACgAAAAMAAAABgAAACYAAAAcAAAABgAAAAAA AAABAAAAAAAAAAAAAAAlAAAADAAAAAYAAAAbAAAAEAAAAJMBAABK////NgAAABAAAACTAQAA gP///xsAAAAQAAAAkwEAAID///9WAAAAKAAAAF4BAABoAAAAaQEAAHcAAAADAAAAmQFx/44B cf+TAYD/EgAAAAwAAAACAAAAGQAAAAwAAAD///8AEgAAAAwAAAABAAAAGQAAAAwAAAD///8A JQAAAAwAAAADAAAAKAAAAAwAAAAGAAAAJQAAAAwAAAANAACAKAAAAAwAAAABAAAAKAAAAAwA AAAHAAAAJQAAAAwAAAAAAACAKAAAAAwAAAACAAAAJQAAAAwAAAAHAACAKAAAAAwAAAADAAAA DgAAABQAAAAAAAAAEAAAABQAAAA=</UMLPattern.PreviewImage>
          </UMLPattern>
        </XMI.extensions>
      </XMI>
    </UMLPattern>
    <UMLPattern>
      <XMI xmi.version="1.1" xmlns:UML="omg.org/UML1.3" timestamp="2005-02-11 15:42:20">
        <XMI.header>
          <XMI.documentation>
            <XMI.exporter>Enterprise Architect</XMI.exporter>
            <XMI.exporterVersion>2.5</XMI.exporterVersion>
          </XMI.documentation>
        </XMI.header>
        <XMI.content>
          <UML:Model name="EA Model" xmi.id="MX_EAID_CC388764_3F96_4174_A641_2403E3B61978">
            <UML:Namespace.ownedElement>
              <UML:Class name="Mediator" xmi.id="EAID_13E0EA50_3439_4050_BC45_09F5CFD1DE08" visibility="public" namespace="EAPK_CC388764_3F96_4174_A641_2403E3B61978" isRoot="false" isLeaf="false" isAbstract="true" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class defines an interface for communicating with Colleague objects."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_CC388764_3F96_4174_A641_2403E3B61978"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-07 11:20:36"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-09 12:19:22"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Mediator"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="Send" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="isAbstract" value="1"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{01BFEA80-3EC1-4821-9491-D3FA1F44418B}"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-3EC1-4821-9491-D3FA1F44418B}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                      <UML:Parameter name="s" kind="in" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid1"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="String"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{9B14086C-430B-4318-8A93-137A27480AA1}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                      <UML:Parameter name="colleague" kind="in" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="EAID_52354F26_F812_491d_B755_7466B6A80BED"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="1"/>
                          <UML:TaggedValue tag="type" value="Colleague"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="classifier" value="EAID_52354F26_F812_491d_B755_7466B6A80BED"/>
                          <UML:TaggedValue tag="ea_guid" value="{79872288-610E-4436-8BC8-7CF5CCB11D5D}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
              <UML:Association xmi.id="EAID_14C575B7_1F0F_419a_B38C_533D830A92ED" visibility="public" isRoot="false" isLeaf="false" isAbstract="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="1"/>
                  <UML:TaggedValue tag="ea_type" value="Association"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="1"/>
                  <UML:TaggedValue tag="linecolor" value="0"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="privatedata5" value="SX=0;SY=0;EX=0;EY=0;EDGE=4;"/>
                  <UML:TaggedValue tag="virtualInheritance" value="0"/>
                  <UML:TaggedValue tag="lt" value="-mediator"/>
                </UML:ModelElement.taggedValue>
                <UML:Association.connection>
                  <UML:AssociationEnd visibility="private" aggregation="none" isOrdered="false" isNavigable="false" type="EAID_52354F26_F812_491d_B755_7466B6A80BED">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="containment" value="Unspecified"/>
                    </UML:ModelElement.taggedValue>
                  </UML:AssociationEnd>
                  <UML:AssociationEnd visibility="protected" name="mediator" aggregation="none" isOrdered="false" isNavigable="true" type="EAID_13E0EA50_3439_4050_BC45_09F5CFD1DE08">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="containment" value="Unspecified"/>
                    </UML:ModelElement.taggedValue>
                  </UML:AssociationEnd>
                </UML:Association.connection>
              </UML:Association>
              <UML:Generalization subtype="EAID_844AF8F6_A8DC_47b3_8A55_FC212CA4F788" supertype="EAID_13E0EA50_3439_4050_BC45_09F5CFD1DE08" xmi.id="EAID_1F7509E4_654E_453d_9E80_7D278CF2864C" visibility="public">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="1"/>
                  <UML:TaggedValue tag="ea_type" value="Generalization"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="1"/>
                  <UML:TaggedValue tag="linecolor" value="0"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="src_visibility" value="Public"/>
                  <UML:TaggedValue tag="src_aggregation" value="0"/>
                  <UML:TaggedValue tag="src_isOrdered" value="false"/>
                  <UML:TaggedValue tag="src_isNavigable" value="false"/>
                  <UML:TaggedValue tag="dst_visibility" value="Public"/>
                  <UML:TaggedValue tag="dst_aggregation" value="0"/>
                  <UML:TaggedValue tag="dst_isOrdered" value="false"/>
                  <UML:TaggedValue tag="dst_isNavigable" value="false"/>
                  <UML:TaggedValue tag="$ea_xref_property" value="$XREFPROP=$XID={081006EA-F235-49c2-95D2-DA656FA42EB8}$XID;$NAM=CustomProperties$NAM;$TYP=connector property$TYP;$VIS=Public$VIS;$DES=@PROP=@NAME=isSubstitutable@ENDNAME;@TYPE=boolean@ENDTYPE;@VALU=@ENDVALU;@PRMT=@ENDPRMT;@ENDPROP;$DES;$CLT={1F7509E4-654E-453d-9E80-7D278CF2864C}$CLT;$SUP=&lt;none&gt;$SUP;$ENDXREF;"/>
                  <UML:TaggedValue tag="privatedata5" value="EDGE=1;"/>
                </UML:ModelElement.taggedValue>
              </UML:Generalization>
              <UML:Class name="Colleague" xmi.id="EAID_52354F26_F812_491d_B755_7466B6A80BED" visibility="public" namespace="EAPK_CC388764_3F96_4174_A641_2403E3B61978" isRoot="false" isLeaf="false" isAbstract="true" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="Each colleague class knows its mediator object and communicates with its mediator whenever it would have otherwise communicated with another colleague."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_CC388764_3F96_4174_A641_2403E3B61978"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-07 11:20:52"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-09 12:19:22"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Mediator"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="Colleague" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="behaviour" value="this.mediator = mediator;"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{3FF234B7-1827-4f40-ADBB-F6F031743452}"/>
                      <UML:TaggedValue tag="styleex" value="ShowBeh=0;"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid2"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-1827-4f40-ADBB-F6F031743452}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                      <UML:Parameter name="mediator" kind="in" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="EAID_13E0EA50_3439_4050_BC45_09F5CFD1DE08"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="Mediator"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="classifier" value="EAID_13E0EA50_3439_4050_BC45_09F5CFD1DE08"/>
                          <UML:TaggedValue tag="ea_guid" value="{3506DB9E-EC88-4399-B322-2504EF887239}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
              <UML:Generalization subtype="EAID_AC2BA657_4662_43fa_BDC3_59C83EA417CE" supertype="EAID_52354F26_F812_491d_B755_7466B6A80BED" xmi.id="EAID_BB413553_D409_425c_B2C1_52680D66C0D8" visibility="public">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="3"/>
                  <UML:TaggedValue tag="ea_type" value="Generalization"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="3"/>
                  <UML:TaggedValue tag="linecolor" value="0"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="subtype" value="Tree"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="src_visibility" value="Public"/>
                  <UML:TaggedValue tag="src_aggregation" value="0"/>
                  <UML:TaggedValue tag="src_isOrdered" value="false"/>
                  <UML:TaggedValue tag="src_isNavigable" value="false"/>
                  <UML:TaggedValue tag="dst_visibility" value="Public"/>
                  <UML:TaggedValue tag="dst_aggregation" value="0"/>
                  <UML:TaggedValue tag="dst_isOrdered" value="false"/>
                  <UML:TaggedValue tag="dst_isNavigable" value="false"/>
                  <UML:TaggedValue tag="$ea_xref_property" value="$XREFPROP=$XID={A9FC6F43-F181-4ddd-9648-C30E55A2B30F}$XID;$NAM=CustomProperties$NAM;$TYP=connector property$TYP;$VIS=Public$VIS;$DES=@PROP=@NAME=isSubstitutable@ENDNAME;@TYPE=boolean@ENDTYPE;@VALU=@ENDVALU;@PRMT=@ENDPRMT;@ENDPROP;$DES;$CLT={BB413553-D409-425c-B2C1-52680D66C0D8}$CLT;$SUP=&lt;none&gt;$SUP;$ENDXREF;"/>
                  <UML:TaggedValue tag="privatedata5" value="SX=0;SY=0;EDGE=1;"/>
                </UML:ModelElement.taggedValue>
              </UML:Generalization>
              <UML:Generalization subtype="EAID_37D86B85_5E86_4ba7_A56F_5936F0A04013" supertype="EAID_52354F26_F812_491d_B755_7466B6A80BED" xmi.id="EAID_DEA0D8CC_F2BD_4c07_B659_182B59B86ED8" visibility="public">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="3"/>
                  <UML:TaggedValue tag="ea_type" value="Generalization"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="3"/>
                  <UML:TaggedValue tag="linecolor" value="0"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="subtype" value="Tree"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="src_visibility" value="Public"/>
                  <UML:TaggedValue tag="src_aggregation" value="0"/>
                  <UML:TaggedValue tag="src_isOrdered" value="false"/>
                  <UML:TaggedValue tag="src_isNavigable" value="false"/>
                  <UML:TaggedValue tag="dst_visibility" value="Public"/>
                  <UML:TaggedValue tag="dst_aggregation" value="0"/>
                  <UML:TaggedValue tag="dst_isOrdered" value="false"/>
                  <UML:TaggedValue tag="dst_isNavigable" value="false"/>
                  <UML:TaggedValue tag="$ea_xref_property" value="$XREFPROP=$XID={AAC2365F-DA19-43a1-A57D-000CF9BB139F}$XID;$NAM=CustomProperties$NAM;$TYP=connector property$TYP;$VIS=Public$VIS;$DES=@PROP=@NAME=isSubstitutable@ENDNAME;@TYPE=boolean@ENDTYPE;@VALU=@ENDVALU;@PRMT=@ENDPRMT;@ENDPROP;$DES;$CLT={DEA0D8CC-F2BD-4c07-B659-182B59B86ED8}$CLT;$SUP=&lt;none&gt;$SUP;$ENDXREF;"/>
                  <UML:TaggedValue tag="privatedata5" value="SX=0;SY=0;EDGE=1;"/>
                </UML:ModelElement.taggedValue>
              </UML:Generalization>
              <UML:Class name="ConcreteMediator" xmi.id="EAID_844AF8F6_A8DC_47b3_8A55_FC212CA4F788" visibility="public" namespace="EAPK_CC388764_3F96_4174_A641_2403E3B61978" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class implements co-operative behaviour by co-ordinating Colleague objects. It also knows and maintains its colleagues."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_CC388764_3F96_4174_A641_2403E3B61978"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-07 11:21:13"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-11 15:40:44"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Mediator"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="Send" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="behaviour" value="if( colleague == colleague1 )&#xA;      colleague2.Notify( message );&#xA;else&#xA;      colleague1.Notify( message );"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="2"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{6145115E-B558-44fc-96D5-AA8583B7FD26}"/>
                      <UML:TaggedValue tag="styleex" value="ShowBeh=0;"/>
                      <UML:TaggedValue tag="override" value="true" xmi.id="EAID_EFFA2496_1532_4502_B48D_981A4231C87F"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-B558-44fc-96D5-AA8583B7FD26}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                      <UML:Parameter name="message" kind="in" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid1"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="String"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{F9382EFA-DCAF-4fe6-84B8-C590F681119C}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                      <UML:Parameter name="colleague" kind="in" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="EAID_52354F26_F812_491d_B755_7466B6A80BED"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="1"/>
                          <UML:TaggedValue tag="type" value="Colleague"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="classifier" value="EAID_52354F26_F812_491d_B755_7466B6A80BED"/>
                          <UML:TaggedValue tag="ea_guid" value="{9762C937-8C21-4c42-8325-6E1BA6D6618B}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
              <UML:Association xmi.id="EAID_01DFFB3E_D8DF_49d6_8C95_D37BF9AC54EF" visibility="public" isRoot="false" isLeaf="false" isAbstract="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="3"/>
                  <UML:TaggedValue tag="ea_type" value="Association"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="3"/>
                  <UML:TaggedValue tag="linecolor" value="0"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="privatedata5" value="EX=22;EY=-13;EDGE=3;SX=12;SY=-13;"/>
                  <UML:TaggedValue tag="virtualInheritance" value="0"/>
                </UML:ModelElement.taggedValue>
                <UML:Association.connection>
                  <UML:AssociationEnd visibility="public" aggregation="none" isOrdered="false" isNavigable="false" type="EAID_844AF8F6_A8DC_47b3_8A55_FC212CA4F788">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="containment" value="Unspecified"/>
                    </UML:ModelElement.taggedValue>
                  </UML:AssociationEnd>
                  <UML:AssociationEnd visibility="private" name="colleague2" aggregation="none" isOrdered="false" isNavigable="true" type="EAID_37D86B85_5E86_4ba7_A56F_5936F0A04013">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="containment" value="Unspecified"/>
                    </UML:ModelElement.taggedValue>
                  </UML:AssociationEnd>
                </UML:Association.connection>
              </UML:Association>
              <UML:Association xmi.id="EAID_2EFBB0F1_07F6_4d98_8896_8C023D11C3D5" visibility="public" isRoot="false" isLeaf="false" isAbstract="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="3"/>
                  <UML:TaggedValue tag="ea_type" value="Association"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="3"/>
                  <UML:TaggedValue tag="linecolor" value="0"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="privatedata5" value="SX=0;SY=0;EX=0;EY=0;EDGE=2;"/>
                  <UML:TaggedValue tag="virtualInheritance" value="0"/>
                </UML:ModelElement.taggedValue>
                <UML:Association.connection>
                  <UML:AssociationEnd visibility="public" aggregation="none" isOrdered="false" isNavigable="false" type="EAID_844AF8F6_A8DC_47b3_8A55_FC212CA4F788">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="containment" value="Unspecified"/>
                    </UML:ModelElement.taggedValue>
                  </UML:AssociationEnd>
                  <UML:AssociationEnd visibility="private" name="colleague1" aggregation="none" isOrdered="false" isNavigable="true" type="EAID_AC2BA657_4662_43fa_BDC3_59C83EA417CE">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="containment" value="Unspecified"/>
                    </UML:ModelElement.taggedValue>
                  </UML:AssociationEnd>
                </UML:Association.connection>
              </UML:Association>
              <UML:Class name="ConcreteColleague1" xmi.id="EAID_AC2BA657_4662_43fa_BDC3_59C83EA417CE" visibility="public" namespace="EAPK_CC388764_3F96_4174_A641_2403E3B61978" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="Each colleague class knows its mediator object and communicates with its mediator whenever it would have otherwise communicated with another colleague."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_CC388764_3F96_4174_A641_2403E3B61978"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-07 11:21:44"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-09 11:55:48"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Mediator"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="ConcreteColleague1" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="behaviour" value="this.mediator = mediator;"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{028514E3-1370-4f56-A928-1E333441B0D8}"/>
                      <UML:TaggedValue tag="styleex" value="ShowBeh=0;"/>
                      <UML:TaggedValue tag="override" value="false" xmi.id="EAID_4D347170_0EE4_4485_B13B_EDCB026DE7D3"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid2"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-1370-4f56-A928-1E333441B0D8}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                      <UML:Parameter name="mediator" kind="in" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="EAID_13E0EA50_3439_4050_BC45_09F5CFD1DE08"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="Mediator"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="classifier" value="EAID_13E0EA50_3439_4050_BC45_09F5CFD1DE08"/>
                          <UML:TaggedValue tag="ea_guid" value="{2CFC926B-757B-4d5e-A1F0-C3E375709C4D}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                  <UML:Operation name="Send" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="behaviour" value="mediator.Send( message, this  );"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="1"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{0AEF6659-4528-40db-A167-4CDAB206D391}"/>
                      <UML:TaggedValue tag="styleex" value="ShowBeh=0;"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-4528-40db-A167-4CDAB206D391}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                      <UML:Parameter name="message" kind="in" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid1"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="String"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{252DCF27-27AF-47cf-B3DF-FDA41EF216F0}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                  <UML:Operation name="Notify" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="2"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{1FB72998-871B-443b-BD82-1F56CAE1E8FD}"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-871B-443b-BD82-1F56CAE1E8FD}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                      <UML:Parameter name="message" kind="in" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid1"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="String"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{BEF9037D-2746-450d-91F5-B5F74A5E5EAB}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
              <UML:Class name="ConcreteColleague2" xmi.id="EAID_37D86B85_5E86_4ba7_A56F_5936F0A04013" visibility="public" namespace="EAPK_CC388764_3F96_4174_A641_2403E3B61978" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="Each colleague class knows its mediator object and communicates with its mediator whenever it would have otherwise communicated with another colleague."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_CC388764_3F96_4174_A641_2403E3B61978"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-07 11:22:02"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-09 11:55:48"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Mediator"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="ConcreteColleague2" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="behaviour" value="this.mediator = mediator;"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{8F509E37-7617-4607-ACC1-E6A2CDA6D7DE}"/>
                      <UML:TaggedValue tag="styleex" value="ShowBeh=0;"/>
                      <UML:TaggedValue tag="override" value="false" xmi.id="EAID_D767C492_D134_4b16_BB0A_4FA9947A4C52"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid2"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-7617-4607-ACC1-E6A2CDA6D7DE}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                      <UML:Parameter name="mediator" kind="in" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="EAID_13E0EA50_3439_4050_BC45_09F5CFD1DE08"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="Mediator"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="classifier" value="EAID_13E0EA50_3439_4050_BC45_09F5CFD1DE08"/>
                          <UML:TaggedValue tag="ea_guid" value="{D9A98529-CD3F-46c5-A1C0-472BAB5F700F}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                  <UML:Operation name="Send" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="behaviour" value="mediator.Send( message, this  );"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="1"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{68EE623A-5F6C-40f3-9D96-BACFFF9BE21F}"/>
                      <UML:TaggedValue tag="styleex" value="ShowBeh=0;"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-5F6C-40f3-9D96-BACFFF9BE21F}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                      <UML:Parameter name="message" kind="in" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid1"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="String"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{30B76652-1467-4fc3-9DFC-8E0E424046D3}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                  <UML:Operation name="Notify" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="2"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{63384D56-5AC6-47ba-8244-F34C7CEBD56A}"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-5AC6-47ba-8244-F34C7CEBD56A}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                      <UML:Parameter name="message" kind="in" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid1"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="String"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{66B8E22E-1689-4969-A6C8-D319EE626CAF}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
            </UML:Namespace.ownedElement>
          </UML:Model>
          <UML:Diagram name="Mediator" xmi.id="EAID_295814F1_0E9D_4972_8AFA_74A5A2807349" diagramType="ClassDiagram" owner="EAPK_295814F1_0E9D_4972_8AFA_74A5A2807349" toolName="Enterprise Architect 2.5">
            <UML:ModelElement.taggedValue>
              <UML:TaggedValue tag="documentation" value="This pattern defines an object that encapsulates how a set of objects interact. Mediator promotes loose coupling by keeping objects from referring to each other explicitly, and it lets you vary their interaction independently."/>
              <UML:TaggedValue tag="version" value="1.0"/>
              <UML:TaggedValue tag="created_date" value="2004-12-14 13:32:18"/>
              <UML:TaggedValue tag="modified_date" value="2005-02-11 15:40:44"/>
              <UML:TaggedValue tag="package" value="EAPK_CC388764_3F96_4174_A641_2403E3B61978"/>
              <UML:TaggedValue tag="type" value="Logical"/>
              <UML:TaggedValue tag="swimlanes" value="locked=false;orientation=0;width=0;inbar=false;names=false;color=0;bold=false;fcol=0;;cls=0;"/>
              <UML:TaggedValue tag="EAStyle" value="ShowPrivate=1;ShowProtected=1;ShowPublic=1;HideRelationships=0;Locked=0;Border=1;HighlightForeign=1;PackageContents=1;SequenceNotes=0;ScalePrintImage=0;PPgs.cx=0;PPgs.cy=0;DocSize.cx=780;DocSize.cy=1138;ShowDetails=0;Orientation=P;Zoom=100;ShowTags=0;OpParams=1;ShowIcons=1;CollabNums=0;HideProps=0;ShowReqs=0;ShowCons=0;PaperSize=9;HideParents=0;UseAlias=0;HideAtts=0;HideOps=0;HideStereo=0;HideElemStereo=0;ShowTests=0;ShowMaint=0;"/>
              <UML:TaggedValue tag="styleex" value="ExcludeRTF=0;DocAll=0;HideQuals=0;AttPkg=1;ShowTests=0;ShowMaint=0;SuppressFOC=0;TDurLow=0;TDurHigh=100;TDurUnit=;TDurHide=0;"/>
            </UML:ModelElement.taggedValue>
            <UML:Diagram.element>
              <UML:DiagramElement geometry="Left=563;Top=201;Right=735;Bottom=280;imgL=501;imgT=188;imgR=673;imgB=267;" subject="EAID_37D86B85_5E86_4ba7_A56F_5936F0A04013" seqno="1" style="DUID=4B861325;LBL=;"/>
              <UML:DiagramElement geometry="Left=354;Top=201;Right=526;Bottom=280;imgL=292;imgT=188;imgR=464;imgB=267;" subject="EAID_AC2BA657_4662_43fa_BDC3_59C83EA417CE" seqno="2" style="DUID=338EF088;LBL=;"/>
              <UML:DiagramElement geometry="Left=72;Top=187;Right=242;Bottom=257;imgL=10;imgT=174;imgR=180;imgB=244;" subject="EAID_844AF8F6_A8DC_47b3_8A55_FC212CA4F788" seqno="3" style="DUID=D216107B;LBL=;"/>
              <UML:DiagramElement geometry="Left=471;Top=23;Right=594;Bottom=104;imgL=409;imgT=10;imgR=532;imgB=91;" subject="EAID_52354F26_F812_491d_B755_7466B6A80BED" seqno="4" style="DUID=FAFB1C51;LBL=;"/>
              <UML:DiagramElement geometry="Left=73;Top=38;Right=241;Bottom=91;imgL=11;imgT=25;imgR=179;imgB=78;" subject="EAID_13E0EA50_3439_4050_BC45_09F5CFD1DE08" seqno="5" style="DUID=E6B162AF;LBL=;"/>
              <UML:DiagramElement geometry="EDGE=1;$LLB=;LLT=;LMT=;LMB=;LRT=;LRB=;Path=;" subject="EAID_1F7509E4_654E_453d_9E80_7D278CF2864C" style="Mode=1;EOID=E6B162AF;SOID=D216107B;Hidden=0;"/>
              <UML:DiagramElement geometry="SX=0;SY=0;EX=0;EY=0;EDGE=4;$LLB=;LLT=;LMT=;LMB=;LRT=CX=58:CY=15:OX=0:OY=0:HDN=0:BLD=0:ITA=0:UND=0:CLR=-1:ALN=0:DIR=0:ROT=0;LRB=;Path=;" subject="EAID_14C575B7_1F0F_419a_B38C_533D830A92ED" style="Mode=1;EOID=E6B162AF;SOID=FAFB1C51;Hidden=0;"/>
              <UML:DiagramElement geometry="SX=0;SY=0;EDGE=1;$LLB=;LLT=;LMT=;LMB=;LRT=;LRB=;Path=440:-154$532:-154$;" subject="EAID_BB413553_D409_425c_B2C1_52680D66C0D8" style="Mode=3;EOID=FAFB1C51;SOID=338EF088;Hidden=0;"/>
              <UML:DiagramElement geometry="SX=0;SY=0;EDGE=1;$LLB=;LLT=;LMT=;LMB=;LRT=;LRB=;Path=649:-154$532:-154$;" subject="EAID_DEA0D8CC_F2BD_4c07_B659_182B59B86ED8" style="Mode=3;EOID=FAFB1C51;SOID=4B861325;Hidden=0;"/>
              <UML:DiagramElement geometry="EX=3;EY=-15;EDGE=3;SX=-26;SY=-6;$LLB=;LLT=;LMT=;LMB=;LRT=CX=66:CY=15:OX=69:OY=12:HDN=0:BLD=0:ITA=0:UND=0:CLR=-1:ALN=0:DIR=0:ROT=0;LRB=;Path=131:-347$651:-347$;" subject="EAID_01DFFB3E_D8DF_49d6_8C95_D37BF9AC54EF" style="Mode=3;EOID=4B861325;SOID=D216107B;Hidden=0;"/>
              <UML:DiagramElement geometry="SX=52;SY=9;EX=0;EY=0;EDGE=3;$LLB=;LLT=;LMT=;LMB=;LRT=CX=66:CY=15:OX=71:OY=9:HDN=0:BLD=0:ITA=0:UND=0:CLR=-1:ALN=0:DIR=0:ROT=0;LRB=;Path=208:-313$439:-313$;" subject="EAID_2EFBB0F1_07F6_4d98_8896_8C023D11C3D5" style="Mode=3;EOID=338EF088;SOID=D216107B;Hidden=0;"/>
            </UML:Diagram.element>
          </UML:Diagram>
        </XMI.content>
        <XMI.difference/>
        <XMI.extensions xmi.extender="Enterprise Architect 2.5">
          <EAStub xmi.id="EAID_52354F26_F812_491d_B755_7466B6A80BED" name="Colleague" UMLType="Class"/>
          <EAStub xmi.id="EAID_13E0EA50_3439_4050_BC45_09F5CFD1DE08" name="Mediator" UMLType="Class"/>
          <EAStub xmi.id="EAID_844AF8F6_A8DC_47b3_8A55_FC212CA4F788" name="ConcreteMediator" UMLType="Class"/>
          <EAStub xmi.id="EAID_AC2BA657_4662_43fa_BDC3_59C83EA417CE" name="ConcreteColleague1" UMLType="Class"/>
          <EAStub xmi.id="EAID_37D86B85_5E86_4ba7_A56F_5936F0A04013" name="ConcreteColleague2" UMLType="Class"/>
          <UMLPattern name="Mediator" category="GoF Behavioral Patterns" version="1.0" notes="This pattern defines an object that encapsulates how a set of objects interact. Mediator promotes loose coupling by keeping objects from referring to each other explicitly, and it lets you vary their interaction independently.">
            <UMLPattern.PromptList>
              <Element name="ConcreteColleague2:Class" guid="EAID_37D86B85_5E86_4ba7_A56F_5936F0A04013" id="607" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="Each colleague class knows its mediator object and communicates with its mediator whenever it would have otherwise communicated with another colleague.">
                  <![CDATA[Each colleague class knows its mediator object and communicates with its mediator whenever it would have otherwise communicated with another colleague.]]>
                </Comment>
              </Element>
              <Element name="ConcreteColleague1:Class" guid="EAID_AC2BA657_4662_43fa_BDC3_59C83EA417CE" id="606" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="Each colleague class knows its mediator object and communicates with its mediator whenever it would have otherwise communicated with another colleague.">
                  <![CDATA[Each colleague class knows its mediator object and communicates with its mediator whenever it would have otherwise communicated with another colleague.]]>
                </Comment>
              </Element>
              <Element name="ConcreteMediator:Class" guid="EAID_844AF8F6_A8DC_47b3_8A55_FC212CA4F788" id="605" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class implements co-operative behaviour by co-ordinating Colleague objects. It also knows and maintains its colleagues.">
                  <![CDATA[This class implements co-operative behaviour by co-ordinating Colleague objects. It also knows and maintains its colleagues.]]>
                </Comment>
              </Element>
              <Element name="Colleague:Class" guid="EAID_52354F26_F812_491d_B755_7466B6A80BED" id="604" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="Each colleague class knows its mediator object and communicates with its mediator whenever it would have otherwise communicated with another colleague.">
                  <![CDATA[Each colleague class knows its mediator object and communicates with its mediator whenever it would have otherwise communicated with another colleague.]]>
                </Comment>
              </Element>
              <Element name="Mediator:Class" guid="EAID_13E0EA50_3439_4050_BC45_09F5CFD1DE08" id="603" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class defines an interface for communicating with Colleague objects.">
                  <![CDATA[This class defines an interface for communicating with Colleague objects.]]>
                </Comment>
              </Element>
            </UMLPattern.PromptList>
            <UMLPattern.PreviewImage xmlns:dt="urn:schemas-microsoft-com:datatypes" dt:dt="bin.base64" cx="19209" cy="9883">AQAAAGwAAAAKAAAACgAAAKMCAABOAQAAAAAAAAAAAAAJSwAAmyYAACBFTUYAAAEABCgAABIB AAAJAAAAAAAAAAAAAAAAAAAAAAUAAAAEAABoAQAAIgEAAAAAAAAAAAAAAAAAAEB+BQDQbAQA EQAAAAwAAAAIAAAACQAAABAAAAABAAAA/////woAAAAQAAAAPgAAAPP///9SAAAAcAEAAAEA AAD2////AAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAQQBSAEkAQQBMAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkXwAAEAAHOcSAAAA AAAAAAAAhOcSAKznEgC3LJF88C8iAJju7gCM5xIAAAAAAI6ggHwAAEAAmO7uAIznEgCloIB8 +OcSANKPAAAAAAAAEAAAAAUAAAD85xIA/wAAAMDnEgClAtV3POgSAP8AAADY5xIAbHMOAQoA AAD1Gd1zAADqc0AAAAAFAAAAUOkSAAAAAABo5epzvOcSAFjpEgAX7+Zz/////7joEgCeJt1z BQAAAFDpEgBQ6RIABQAAAAAAEgA/Qt1zSGAiDjzoEgAFAAAAPOgSAFDpEgAXQt1zBQAAADzo EgAFAAAAAAEAAA5K3XM86BIAAAAAAFxK3XNkdgAIAAAAACUAAAAMAAAAAQAAACcAAAAYAAAA AgAAAAAAAAD88uMAAAAAACUAAAAMAAAAAgAAACYAAAAcAAAAAwAAAAAAAAABAAAAAAAAAAAA AAAlAAAADAAAAAMAAAASAAAADAAAAAEAAAAhAAAACAAAABgAAAAMAAAAAAAAACYAAAAcAAAA BAAAAAAAAAABAAAAAAAAAAAAAAAlAAAADAAAAAQAAAASAAAADAAAAAIAAAAZAAAADAAAAP// /wASAAAADAAAAAEAAAAZAAAADAAAAP///wASAAAADAAAAAIAAAAZAAAADAAAAP///wASAAAA DAAAAAEAAAAZAAAADAAAAP///wASAAAADAAAAAIAAAAZAAAADAAAAP///wASAAAADAAAAAEA AAAZAAAADAAAAP///wASAAAADAAAAAIAAAAZAAAADAAAAP///wASAAAADAAAAAEAAAAZAAAA DAAAAP///wASAAAADAAAAAIAAAAZAAAADAAAAP///wASAAAADAAAAAEAAAAZAAAADAAAAP// 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 AAAAAOFBAJDiwYYBAAAu////EgAAAEwAAAAAAAAAAAAAAAAAAAD//////////3AAAABDAG8A bgBjAHIAZQB0AGUAQwBvAGwAbABlAGEAZwB1AGUAMQAHAAAABgAAAAYAAAAGAAAABAAAAAYA AAADAAAABgAAAAcAAAAGAAAAAwAAAAMAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAlAAAA DAAAAAEAAAAbAAAAEAAAAGIBAAAc////NgAAABAAAAANAgAAHP///xgAAAAMAAAAAACAABgA AAAMAAAAAAAAABgAAAAMAAAAAEBAAFQAAABYAAAAKQEAAN8AAAAyAQAA6wAAAAEAAAAAAOFB AJDiwWcBAAAU////AgAAAEwAAAAAAAAAAAAAAAAAAAD//////////1AAAAArACAABgAAAAMA AABUAAAA9AAAADoBAADfAAAAywEAAOsAAAABAAAAAADhQQCQ4sF4AQAAFP///xwAAABMAAAA AAAAAAAAAAAAAAAA//////////+EAAAAQwBvAG4AYwByAGUAdABlAEMAbwBsAGwAZQBhAGcA dQBlADEAKABNAGUAZABpAGEAdABvAHIAKQAHAAAABgAAAAYAAAAFAAAAAwAAAAYAAAADAAAA BgAAAAcAAAAGAAAAAwAAAAMAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAADAAAACQAAAAYA AAAGAAAAAwAAAAYAAAADAAAABgAAAAMAAAADAAAAVAAAAFgAAAApAQAA7AAAADIBAAD4AAAA AQAAAAAA4UEAkOLBZwEAAAf///8CAAAATAAAAAAAAAAAAAAAAAAAAP//////////UAAAACsA IAAGAAAAAwAAAFQAAADAAAAAOgEAAOwAAACSAQAA+AAAAAEAAAAAAOFBAJDiwXgBAAAH//// EwAAAEwAAAAAAAAAAAAAAAAAAAD//////////3QAAABTAGUAbgBkACgAUwB0AHIAaQBuAGcA KQAgADoAIAB2AG8AaQBkAE9JBwAAAAYAAAAGAAAABgAAAAMAAAAHAAAAAwAAAAMAAAADAAAA BgAAAAYAAAADAAAAAwAAAAMAAAADAAAABQAAAAYAAAADAAAABgAAAFQAAABYAAAAKQEAAPkA AAAyAQAABQEAAAEAAAAAAOFBAJDiwWcBAAD6/v//AgAAAEwAAAAAAAAAAAAAAAAAAAD///// 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 BwAAABsAAAAQAAAA1wEAAMH///82AAAAEAAAAPEAAADB////GwAAABAAAADxAAAAwf///xsA AAAQAAAA8QAAAMH///82AAAAEAAAAAABAADH////GwAAABAAAADxAAAAwf///zYAAAAQAAAA AAEAALv///8SAAAADAAAAAIAAAAZAAAADAAAAP///wBSAAAAcAEAAAgAAAD2////AAAAAAAA AAAAAAAAAAAAAAAAAAEAAAAAQQBSAEkAQQBMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAAAAAAAAAITnEgCs5xIAtyyRfPAv IgCY7u4AjOcSAAAAAACOoIB8AABAAJju7gCM5xIApaCAfPjnEgDSjwAAAAAAABAAAAAFAAAA /OcSAP8AAADA5xIApQLVdzzoEgD/AAAA2OcSAGxzDgEKAAAA9RndcwAA6nNAAAAAAAAAAFDp EgAAAAAAaOXqc7znEgBY6RIAF+/mc/////+46BIAnibdcwUAAABQ6RIAUOkSAAUAAAAAABIA P0LdcwAAIg486BIABQAAADzoEgBQ6RIAF0LdcwUAAAA86BIABQAAAAABAAAOSt1zPOgSAAAA AABcSt1zZHYACAAAAABkdgAIAAAAACUAAAAMAAAACAAAAFQAAACEAAAAtgAAACAAAADmAAAA LAAAAAEAAAAAAOFBAJDiwfQAAADT////CQAAAEwAAAAAAAAAAAAAAAAAAAD//////////2AA AAAjAG0AZQBkAGkAYQB0AG8AcgAzQQYAAAAJAAAABgAAAAYAAAADAAAABgAAAAMAAAAGAAAA AwAAACUAAAAMAAAAAQAAACgAAAAMAAAACAAAABIAAAAMAAAAAQAAABkAAAAMAAAA////ACUA AAAMAAAAAwAAACgAAAAMAAAABwAAACYAAAAcAAAABwAAAAAAAAABAAAAAAAAAAAAAAAlAAAA DAAAAAcAAAAbAAAAEAAAALgBAAA3////NgAAABAAAAC4AQAAZv///zYAAAAQAAAAFAIAAGb/ //82AAAAEAAAABQCAACY////GwAAABAAAAAUAgAAmP///1YAAAAoAAAA0QEAAFsAAADcAQAA agAAAAMAAAAaAon/DwKJ/xQCmP8SAAAADAAAAAIAAAAZAAAADAAAAP///wASAAAADAAAAAEA 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</UMLPattern.PreviewImage>
          </UMLPattern>
        </XMI.extensions>
      </XMI>
    </UMLPattern>
    <UMLPattern>
      <XMI xmi.version="1.1" xmlns:UML="omg.org/UML1.3" timestamp="2005-02-11 15:42:41">
        <XMI.header>
          <XMI.documentation>
            <XMI.exporter>Enterprise Architect</XMI.exporter>
            <XMI.exporterVersion>2.5</XMI.exporterVersion>
          </XMI.documentation>
        </XMI.header>
        <XMI.content>
          <UML:Model name="EA Model" xmi.id="MX_EAID_2026C4F0_107E_4ac9_A317_A615B30442E7">
            <UML:Namespace.ownedElement>
              <UML:Class name="Originator" xmi.id="EAID_85CE165A_A3D2_4682_ACC8_9A5ADC0D460C" visibility="public" namespace="EAPK_2026C4F0_107E_4ac9_A317_A615B30442E7" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class creates a memento containing a snapshot of its current internal state and uses the memento to restore its internal state."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_2026C4F0_107E_4ac9_A317_A615B30442E7"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-07 11:26:02"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-11 15:40:44"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Memento"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Attribute name="state" changeable="none" visibility="public" ownerScope="instance" targetScope="instance">
                    <UML:Attribute.initialValue>
                      <UML:Expression body="&quot;OFF&quot;"/>
                    </UML:Attribute.initialValue>
                    <UML:StructuralFeature.type>
                      <UML:Classifier xmi.idref="eaxmiid0"/>
                    </UML:StructuralFeature.type>
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="String"/>
                      <UML:TaggedValue tag="derived" value="0"/>
                      <UML:TaggedValue tag="containment" value="Not Specified"/>
                      <UML:TaggedValue tag="length" value="0"/>
                      <UML:TaggedValue tag="ordered" value="0"/>
                      <UML:TaggedValue tag="precision" value="0"/>
                      <UML:TaggedValue tag="scale" value="0"/>
                      <UML:TaggedValue tag="collection" value="false"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="lowerBound" value="1"/>
                      <UML:TaggedValue tag="upperBound" value="1"/>
                      <UML:TaggedValue tag="duplicates" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{FC2943C8-0442-44bd-B403-DC2266BAEB18}"/>
                      <UML:TaggedValue tag="styleex" value="volatile=0;"/>
                    </UML:ModelElement.taggedValue>
                  </UML:Attribute>
                  <UML:Operation name="SetMemento" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="behaviour" value="state = memento.state; "/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="1"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{D0407E17-B05B-4012-B9F0-C42F4415100E}"/>
                      <UML:TaggedValue tag="styleex" value="ShowBeh=0;"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid1"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-B05B-4012-B9F0-C42F4415100E}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                      <UML:Parameter name="memento" kind="in" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="EAID_9E2F2AF5_20F4_4721_BF95_5E4E935012E0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="Memento"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="classifier" value="EAID_9E2F2AF5_20F4_4721_BF95_5E4E935012E0"/>
                          <UML:TaggedValue tag="ea_guid" value="{5B4C0D27-33E2-45ca-B1A4-3C38C61C8275}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                  <UML:Operation name="CreateMemento" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="Memento"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="behaviour" value="return (new Memento( state ));"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="2"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{C1794DF4-F4F1-4ae0-BCF9-E120C1070CCB}"/>
                      <UML:TaggedValue tag="styleex" value="ShowBeh=0;"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="EAID_9E2F2AF5_20F4_4721_BF95_5E4E935012E0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="Memento"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="classifier" value="EAID_9E2F2AF5_20F4_4721_BF95_5E4E935012E0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-F4F1-4ae0-BCF9-E120C1070CCB}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
              <UML:Dependency client="EAID_85CE165A_A3D2_4682_ACC8_9A5ADC0D460C" supplier="EAID_9E2F2AF5_20F4_4721_BF95_5E4E935012E0" xmi.id="EAID_9C8121DE_6AC1_4853_B30F_C2819C6F34DD" visibility="public">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="1"/>
                  <UML:TaggedValue tag="ea_type" value="Dependency"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="1"/>
                  <UML:TaggedValue tag="linecolor" value="0"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="src_visibility" value="Public"/>
                  <UML:TaggedValue tag="src_aggregation" value="0"/>
                  <UML:TaggedValue tag="src_isOrdered" value="false"/>
                  <UML:TaggedValue tag="src_isNavigable" value="false"/>
                  <UML:TaggedValue tag="dst_visibility" value="Public"/>
                  <UML:TaggedValue tag="dst_aggregation" value="0"/>
                  <UML:TaggedValue tag="dst_isOrdered" value="false"/>
                  <UML:TaggedValue tag="dst_isNavigable" value="false"/>
                  <UML:TaggedValue tag="privatedata5" value="EDGE=2;"/>
                </UML:ModelElement.taggedValue>
              </UML:Dependency>
              <UML:Class name="Memento" xmi.id="EAID_9E2F2AF5_20F4_4721_BF95_5E4E935012E0" visibility="public" namespace="EAPK_2026C4F0_107E_4ac9_A317_A615B30442E7" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class stores internal state of the Originator object and protects against access by objects other than the originator."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_2026C4F0_107E_4ac9_A317_A615B30442E7"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-07 11:26:32"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-11 15:40:44"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Memento"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Attribute name="state" changeable="none" visibility="public" ownerScope="instance" targetScope="instance">
                    <UML:Attribute.initialValue>
                      <UML:Expression/>
                    </UML:Attribute.initialValue>
                    <UML:StructuralFeature.type>
                      <UML:Classifier xmi.idref="eaxmiid0"/>
                    </UML:StructuralFeature.type>
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="String"/>
                      <UML:TaggedValue tag="derived" value="0"/>
                      <UML:TaggedValue tag="containment" value="Not Specified"/>
                      <UML:TaggedValue tag="length" value="0"/>
                      <UML:TaggedValue tag="ordered" value="0"/>
                      <UML:TaggedValue tag="precision" value="0"/>
                      <UML:TaggedValue tag="scale" value="0"/>
                      <UML:TaggedValue tag="collection" value="false"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="lowerBound" value="1"/>
                      <UML:TaggedValue tag="upperBound" value="1"/>
                      <UML:TaggedValue tag="duplicates" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{5B6F3EF5-E081-49dd-8FBE-789DBA2B5650}"/>
                      <UML:TaggedValue tag="styleex" value="volatile=0;"/>
                    </UML:ModelElement.taggedValue>
                  </UML:Attribute>
                  <UML:Operation name="Memento" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="behaviour" value="this.state = state;"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="1"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{DC444219-7967-4521-BEE6-443C32F0A874}"/>
                      <UML:TaggedValue tag="styleex" value="ShowBeh=0;"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid2"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-7967-4521-BEE6-443C32F0A874}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                      <UML:Parameter name="state" kind="in" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="String"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{6439AD5D-18A4-40fd-87A8-5C64B8BA4A8E}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
              <UML:Association xmi.id="EAID_1FBB93AC_DBB5_4fae_B10B_BA0220F36D69" visibility="public" isRoot="false" isLeaf="false" isAbstract="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="1"/>
                  <UML:TaggedValue tag="ea_type" value="Association"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="1"/>
                  <UML:TaggedValue tag="linecolor" value="0"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="privatedata5" value="SX=0;SY=0;EX=0;EY=0;EDGE=4;"/>
                  <UML:TaggedValue tag="virtualInheritance" value="0"/>
                  <UML:TaggedValue tag="lt" value="-memento"/>
                </UML:ModelElement.taggedValue>
                <UML:Association.connection>
                  <UML:AssociationEnd visibility="private" aggregation="shared" isOrdered="false" isNavigable="false" type="EAID_7339E131_0D68_4e49_BCDB_D0B26D106A9B">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="containment" value="Unspecified"/>
                    </UML:ModelElement.taggedValue>
                  </UML:AssociationEnd>
                  <UML:AssociationEnd visibility="private" name="memento" aggregation="none" isOrdered="false" isNavigable="true" type="EAID_9E2F2AF5_20F4_4721_BF95_5E4E935012E0">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="containment" value="Unspecified"/>
                    </UML:ModelElement.taggedValue>
                  </UML:AssociationEnd>
                </UML:Association.connection>
              </UML:Association>
              <UML:Class name="Caretaker" xmi.id="EAID_7339E131_0D68_4e49_BCDB_D0B26D106A9B" visibility="public" namespace="EAPK_2026C4F0_107E_4ac9_A317_A615B30442E7" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class is responsible for the memento's safekeeping while never operating on or examining the contents of a memento."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_2026C4F0_107E_4ac9_A317_A615B30442E7"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-07 11:28:43"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-11 15:40:44"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Memento"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
              </UML:Class>
            </UML:Namespace.ownedElement>
          </UML:Model>
          <UML:Diagram name="Memento" xmi.id="EAID_CA8FC949_4D72_4bf4_823B_4DA85329D857" diagramType="ClassDiagram" owner="EAPK_CA8FC949_4D72_4bf4_823B_4DA85329D857" toolName="Enterprise Architect 2.5">
            <UML:ModelElement.taggedValue>
              <UML:TaggedValue tag="documentation" value="This pattern, without violating encapsulation, captures and externalizes an object's internal state so that the object can be restored to this state later."/>
              <UML:TaggedValue tag="version" value="1.0"/>
              <UML:TaggedValue tag="created_date" value="2004-12-14 13:32:21"/>
              <UML:TaggedValue tag="modified_date" value="2005-02-11 15:40:44"/>
              <UML:TaggedValue tag="package" value="EAPK_2026C4F0_107E_4ac9_A317_A615B30442E7"/>
              <UML:TaggedValue tag="type" value="Logical"/>
              <UML:TaggedValue tag="swimlanes" value="locked=false;orientation=0;width=0;inbar=false;names=false;color=0;bold=false;fcol=0;;cls=0;"/>
              <UML:TaggedValue tag="EAStyle" value="ShowPrivate=1;ShowProtected=1;ShowPublic=1;HideRelationships=0;Locked=0;Border=1;HighlightForeign=1;PackageContents=1;SequenceNotes=0;ScalePrintImage=0;PPgs.cx=0;PPgs.cy=0;DocSize.cx=780;DocSize.cy=1138;ShowDetails=0;Orientation=P;Zoom=100;ShowTags=0;OpParams=1;ShowIcons=1;CollabNums=0;HideProps=0;ShowReqs=0;ShowCons=0;PaperSize=9;HideParents=0;UseAlias=0;HideAtts=0;HideOps=0;HideStereo=0;HideElemStereo=0;ShowTests=0;ShowMaint=0;"/>
              <UML:TaggedValue tag="styleex" value="ExcludeRTF=0;DocAll=0;HideQuals=0;AttPkg=1;ShowTests=0;ShowMaint=0;SuppressFOC=0;TDurLow=0;TDurHigh=100;TDurUnit=;TDurHide=0;"/>
            </UML:ModelElement.taggedValue>
            <UML:Diagram.element>
              <UML:DiagramElement geometry="Left=73;Top=234;Right=163;Bottom=304;imgL=37;imgT=208;imgR=127;imgB=278;" subject="EAID_7339E131_0D68_4e49_BCDB_D0B26D106A9B" seqno="1" style="DUID=DEB74B6A;LBL=;"/>
              <UML:DiagramElement geometry="Left=56;Top=47;Right=182;Bottom=134;imgL=20;imgT=21;imgR=146;imgB=108;" subject="EAID_9E2F2AF5_20F4_4721_BF95_5E4E935012E0" seqno="2" style="DUID=5706ECDC;LBL=;"/>
              <UML:DiagramElement geometry="Left=277;Top=36;Right=471;Bottom=138;imgL=241;imgT=10;imgR=435;imgB=112;" subject="EAID_85CE165A_A3D2_4682_ACC8_9A5ADC0D460C" seqno="3" style="DUID=AF850BC7;LBL=;"/>
              <UML:DiagramElement geometry="EDGE=4;$LLB=;LLT=;LMT=;LMB=;LRT=;LRB=;Path=;" subject="EAID_9C8121DE_6AC1_4853_B30F_C2819C6F34DD" style="Mode=1;EOID=5706ECDC;SOID=AF850BC7;Hidden=0;"/>
              <UML:DiagramElement geometry="SX=0;SY=0;EX=0;EY=0;EDGE=1;$LLB=;LLT=;LMT=;LMB=;LRT=CX=58:CY=15:OX=0:OY=0:HDN=0:BLD=0:ITA=0:UND=0:CLR=-1:ALN=0:DIR=0:ROT=0;LRB=;Path=;" subject="EAID_1FBB93AC_DBB5_4fae_B10B_BA0220F36D69" style="Mode=1;EOID=5706ECDC;SOID=DEB74B6A;Hidden=0;"/>
            </UML:Diagram.element>
          </UML:Diagram>
        </XMI.content>
        <XMI.difference/>
        <XMI.extensions xmi.extender="Enterprise Architect 2.5">
          <EAStub xmi.id="EAID_85CE165A_A3D2_4682_ACC8_9A5ADC0D460C" name="Originator" UMLType="Class"/>
          <EAStub xmi.id="EAID_9E2F2AF5_20F4_4721_BF95_5E4E935012E0" name="Memento" UMLType="Class"/>
          <EAStub xmi.id="EAID_7339E131_0D68_4e49_BCDB_D0B26D106A9B" name="Caretaker" UMLType="Class"/>
          <UMLPattern name="Memento" category="GoF Behavioral Patterns" version="1.0" notes="This pattern, without violating encapsulation, captures and externalizes an object's internal state so that the object can be restored to this state later.">
            <UMLPattern.PromptList>
              <Element name="Caretaker:Class" guid="EAID_7339E131_0D68_4e49_BCDB_D0B26D106A9B" id="610" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class is responsible for the memento's safekeeping while never operating on or examining the contents of a memento.">
                  <![CDATA[This class is responsible for the memento's safekeeping while never operating on or examining the contents of a memento.]]>
                </Comment>
              </Element>
              <Element name="Memento:Class" guid="EAID_9E2F2AF5_20F4_4721_BF95_5E4E935012E0" id="609" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class stores internal state of the Originator object and protects against access by objects other than the originator.">
                  <![CDATA[This class stores internal state of the Originator object and protects against access by objects other than the originator.]]>
                </Comment>
              </Element>
              <Element name="Originator:Class" guid="EAID_85CE165A_A3D2_4682_ACC8_9A5ADC0D460C" id="608" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class creates a memento containing a snapshot of its current internal state and uses the memento to restore its internal state.">
                  <![CDATA[This class creates a memento containing a snapshot of its current internal state and uses the memento to restore its internal state.]]>
                </Comment>
              </Element>
            </UMLPattern.PromptList>
            <UMLPattern.PreviewImage xmlns:dt="urn:schemas-microsoft-com:datatypes" dt:dt="bin.base64" cx="12515" cy="8156">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 AAB4AAAAPAAAAB4AAABpAAAAKQAAAAEAAAAAAOFBAJDiwWAAAADI////BwAAAEwAAAAAAAAA AAAAAAAAAAD//////////1wAAABNAGUAbQBlAG4AdABvAAAACQAAAAYAAAAJAAAABgAAAAYA AAADAAAABgAAACUAAAAMAAAAAQAAABsAAAAQAAAAOAAAALb///82AAAAEAAAALUAAAC2//// GAAAAAwAAAAAAIAAVAAAAFgAAAAZAAAANAAAACIAAABAAAAAAQAAAAAA4UEAkOLBPQAAALL/ //8CAAAATAAAAAAAAAAAAAAAAAAAAP//////////UAAAACsAIAAGAAAAAwAAAFQAAACgAAAA KgAAADQAAABlAAAAQAAAAAEAAAAAAOFBAJDiwU4AAACy////DgAAAEwAAAAAAAAAAAAAAAAA AAD//////////2gAAABzAHQAYQB0AGUAOgAgACAAUwB0AHIAaQBuAGcABAAAAAMAAAAGAAAA AwAAAAYAAAADAAAAAwAAAAMAAAAHAAAAAwAAAAMAAAADAAAABgAAAAYAAAAYAAAADAAAAAAA AAAbAAAAEAAAADgAAACc////NgAAABAAAAC1AAAAnP///xgAAAAMAAAAAEBAAFQAAABYAAAA GQAAAE4AAAAiAAAAWgAAAAEAAAAAAOFBAJDiwT0AAACY////AgAAAEwAAAAAAAAAAAAAAAAA AAD//////////1AAAAArACAABgAAAAMAAABUAAAAqAAAACoAAABOAAAAeQAAAFoAAAABAAAA AADhQQCQ4sFOAAAAmP///w8AAABMAAAAAAAAAAAAAAAAAAAA//////////9sAAAATQBlAG0A ZQBuAHQAbwAoAFMAdAByAGkAbgBnACkAAAAJAAAABgAAAAkAAAAGAAAABgAAAAMAAAAGAAAA AwAAAAcAAAADAAAAAwAAAAMAAAAGAAAABgAAAAMAAAAYAAAADAAAAAAAAAAnAAAAGAAAAAYA AAAAAAAAwL/AAAAAAAAlAAAADAAAAAYAAAAmAAAAHAAAAAQAAAAAAAAAAQAAAAAAAADAv8AA JQAAAAwAAAAEAAAAKwAAABgAAABMAAAAE////6UAAADO/v//JQAAAAwAAAACAAAAKAAAAAwA AAAGAAAAJQAAAAwAAAADAAAAKAAAAAwAAAAEAAAAKwAAABgAAABJAAAAFv///6IAAADR/v// JQAAAAwAAAAFAAAAVAAAAIQAAAA6AAAA2QAAAGoAAADkAAAAAQAAAAAA4UEAkOLBXgAAAA3/ //8JAAAATAAAAAAAAAAAAAAAAAAAAP//////////YAAAAEMAYQByAGUAdABhAGsAZQByAAAA BwAAAAYAAAAEAAAABgAAAAMAAAAGAAAABgAAAAYAAAAEAAAAJQAAAAwAAAABAAAAGwAAABAA AABJAAAA+/7//zYAAAAQAAAAogAAAPv+//8YAAAADAAAAAAAgAAYAAAADAAAAAAAAAAYAAAA DAAAAABAQAAYAAAADAAAAAAAAAAmAAAAHAAAAAQAAAAAAAAAAQAAAAAAAAAAAAAAJQAAAAwA AAAEAAAAGwAAABAAAAAVAQAAqP///zYAAAAQAAAAEgEAAKj///8bAAAAEAAAAA8BAACo//// NgAAABAAAAAMAQAAqP///xsAAAAQAAAACQEAAKj///82AAAAEAAAAAYBAACo////GwAAABAA AAADAQAAqP///zYAAAAQAAAAAAEAAKj///8bAAAAEAAAAP0AAACo////NgAAABAAAAD6AAAA qP///xsAAAAQAAAA9wAAAKj///82AAAAEAAAAPQAAACo////GwAAABAAAADxAAAAqP///zYA AAAQAAAA7gAAAKj///8bAAAAEAAAAOsAAACo////NgAAABAAAADoAAAAqP///xsAAAAQAAAA 5QAAAKj///82AAAAEAAAAOIAAACo////GwAAABAAAADfAAAAqP///zYAAAAQAAAA3AAAAKj/ //8bAAAAEAAAANkAAACo////NgAAABAAAADWAAAAqP///xsAAAAQAAAA0wAAAKj///82AAAA EAAAANAAAACo////GwAAABAAAADNAAAAqP///zYAAAAQAAAAygAAAKj///8bAAAAEAAAAMcA AACo////NgAAABAAAADEAAAAqP///xsAAAAQAAAAwQAAAKj///82AAAAEAAAAL4AAACo//// GwAAABAAAAC7AAAAqP///zYAAAAQAAAAuAAAAKj///8bAAAAEAAAALYAAACn////GwAAABAA AAC2AAAAp////zYAAAAQAAAAxQAAAKz///8bAAAAEAAAALYAAACn////NgAAABAAAADFAAAA o////xIAAAAMAAAAAgAAABkAAAAMAAAA////ABIAAAAMAAAAAQAAABkAAAAMAAAA////ACUA AAAMAAAAAwAAACgAAAAMAAAABAAAACYAAAAcAAAABAAAAAAAAAABAAAAAAAAAAAAAAAlAAAA DAAAAAQAAAAbAAAAEAAAAHYAAAAW////NgAAABAAAAB2AAAAev///1YAAAAsAAAATgAAALwA AABXAAAA0AAAAAQAAAByACD/dgAW/3sAIP92ACr/GwAAABAAAAB2AAAAev///xsAAAAQAAAA dgAAAHr///82AAAAEAAAAHwAAABs////GwAAABAAAAB2AAAAev///zYAAAAQAAAAcQAAAGz/ //8SAAAADAAAAAIAAAAZAAAADAAAAP///wBSAAAAcAEAAAYAAAD2////AAAAAAAAAAAAAAAA AAAAAAAAAAEAAAAAQQBSAEkAQQBMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAAAAAAAAAITnEgCs5xIAtyyRfPAvIgCY7u4A jOcSAAAAAACOoIB8AABAAJju7gCM5xIApaCAfPjnEgDSjwAAAAAAABAAAAAFAAAA/OcSAP8A AADA5xIApQLVdzzoEgD/AAAA2OcSAGxzDgEKAAAA9RndcwAA6nNAAAAAAAAAAFDpEgAAAAAA aOXqc7znEgBY6RIAF+/mc/////+46BIAnibdcwUAAABQ6RIAUOkSAAUAAAAAABIAP0LdcwAA Iw486BIABQAAADzoEgBQ6RIAF0LdcwUAAAA86BIABQAAAAABAAAOSt1zPOgSAAAAAABcSt1z ZHYACAAAAABkdgAIAAAAACUAAAAMAAAABgAAAFQAAAB8AAAAGgAAAHEAAABKAAAAfQAAAAEA AAAAAOFBAJDiwT4AAAB1////CAAAAEwAAAAAAAAAAAAAAAAAAAD//////////1wAAAAtAG0A ZQBtAGUAbgB0AG8AAwAAAAkAAAAGAAAACQAAAAYAAAAGAAAAAwAAAAYAAAAlAAAADAAAAAEA AAAoAAAADAAAAAYAAAASAAAADAAAAAEAAAAZAAAADAAAAP///wAlAAAADAAAAAMAAAAoAAAA DAAAAAQAAAAlAAAADAAAAA0AAIAoAAAADAAAAAEAAAAoAAAADAAAAAUAAAAlAAAADAAAAAAA AIAoAAAADAAAAAIAAAAlAAAADAAAAAcAAIAoAAAADAAAAAMAAAAOAAAAFAAAAAAAAAAQAAAA FAAAAA==</UMLPattern.PreviewImage>
          </UMLPattern>
        </XMI.extensions>
      </XMI>
    </UMLPattern>
    <UMLPattern>
      <XMI xmi.version="1.1" xmlns:UML="omg.org/UML1.3" timestamp="2005-02-11 15:42:54">
        <XMI.header>
          <XMI.documentation>
            <XMI.exporter>Enterprise Architect</XMI.exporter>
            <XMI.exporterVersion>2.5</XMI.exporterVersion>
          </XMI.documentation>
        </XMI.header>
        <XMI.content>
          <UML:Model name="EA Model" xmi.id="MX_EAID_61ABF8C1_CC50_435b_B573_181600C62101">
            <UML:Namespace.ownedElement>
              <UML:Class name="Subject" xmi.id="EAID_219AF664_F1FD_4b7d_82DA_71012EAB2D67" visibility="public" namespace="EAPK_61ABF8C1_CC50_435b_B573_181600C62101" isRoot="false" isLeaf="false" isAbstract="true" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class knows its observers and provides an interface for attaching and detaching Observer objects."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_61ABF8C1_CC50_435b_B573_181600C62101"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-07 11:30:46"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-11 15:40:44"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Observer"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="Attach" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="behaviour" value="observers.addElement(observer);"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{11947702-2A5A-4519-A1A8-5ACA971EBF72}"/>
                      <UML:TaggedValue tag="styleex" value="ShowBeh=0;"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-2A5A-4519-A1A8-5ACA971EBF72}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                      <UML:Parameter name="observer" kind="in" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="EAID_D86F7A6E_265E_4a75_8CF4_6260AC6EB07B"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="Observer"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="classifier" value="EAID_D86F7A6E_265E_4a75_8CF4_6260AC6EB07B"/>
                          <UML:TaggedValue tag="ea_guid" value="{93CA4422-6D4A-4ebe-9CB8-BF82673095C3}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                  <UML:Operation name="Detach" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="behaviour" value="observers.removeElement(observer);"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="1"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{70C261BD-5787-4595-BEAF-D7B9C2AEE81B}"/>
                      <UML:TaggedValue tag="styleex" value="ShowBeh=0;"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-5787-4595-BEAF-D7B9C2AEE81B}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                      <UML:Parameter name="observer" kind="in" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="EAID_D86F7A6E_265E_4a75_8CF4_6260AC6EB07B"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="Observer"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="classifier" value="EAID_D86F7A6E_265E_4a75_8CF4_6260AC6EB07B"/>
                          <UML:TaggedValue tag="ea_guid" value="{9BEF8D17-FF4C-462c-AF16-C0C28D7D853D}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                  <UML:Operation name="Notify" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="behaviour" value="foreach( Observer o in observers ) o.Update();"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="2"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{5595EEE6-381B-4c50-8660-C2C2729E8C56}"/>
                      <UML:TaggedValue tag="styleex" value="ShowBeh=0;"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-381B-4c50-8660-C2C2729E8C56}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
              <UML:Association xmi.id="EAID_660744C9_A043_4948_A902_34F6F13101C4" visibility="public" isRoot="false" isLeaf="false" isAbstract="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="1"/>
                  <UML:TaggedValue tag="ea_type" value="Association"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="1"/>
                  <UML:TaggedValue tag="linecolor" value="0"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="privatedata5" value="SX=0;SY=0;EX=0;EY=0;EDGE=2;"/>
                  <UML:TaggedValue tag="virtualInheritance" value="0"/>
                  <UML:TaggedValue tag="rb" value="1..*"/>
                  <UML:TaggedValue tag="rt" value="-observers"/>
                </UML:ModelElement.taggedValue>
                <UML:Association.connection>
                  <UML:AssociationEnd visibility="private" aggregation="none" isOrdered="false" isNavigable="false" type="EAID_219AF664_F1FD_4b7d_82DA_71012EAB2D67">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="containment" value="Unspecified"/>
                    </UML:ModelElement.taggedValue>
                  </UML:AssociationEnd>
                  <UML:AssociationEnd visibility="private" multiplicity="1..*" name="observers" aggregation="none" isOrdered="false" isNavigable="true" type="EAID_D86F7A6E_265E_4a75_8CF4_6260AC6EB07B">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="containment" value="Unspecified"/>
                    </UML:ModelElement.taggedValue>
                  </UML:AssociationEnd>
                </UML:Association.connection>
              </UML:Association>
              <UML:Generalization subtype="EAID_E644C29A_DEBB_41cc_B65B_E83BA5B8CB2D" supertype="EAID_219AF664_F1FD_4b7d_82DA_71012EAB2D67" xmi.id="EAID_4AB243A4_FEDF_43dc_903D_6CDDBD9A1878" visibility="public">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="1"/>
                  <UML:TaggedValue tag="ea_type" value="Generalization"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="1"/>
                  <UML:TaggedValue tag="linecolor" value="0"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="src_visibility" value="Public"/>
                  <UML:TaggedValue tag="src_aggregation" value="0"/>
                  <UML:TaggedValue tag="src_isOrdered" value="false"/>
                  <UML:TaggedValue tag="src_isNavigable" value="false"/>
                  <UML:TaggedValue tag="dst_visibility" value="Public"/>
                  <UML:TaggedValue tag="dst_aggregation" value="0"/>
                  <UML:TaggedValue tag="dst_isOrdered" value="false"/>
                  <UML:TaggedValue tag="dst_isNavigable" value="false"/>
                  <UML:TaggedValue tag="$ea_xref_property" value="$XREFPROP=$XID={B634337A-C3E3-41ca-8C98-3D36D972A8A6}$XID;$NAM=CustomProperties$NAM;$TYP=connector property$TYP;$VIS=Public$VIS;$DES=@PROP=@NAME=isSubstitutable@ENDNAME;@TYPE=boolean@ENDTYPE;@VALU=@ENDVALU;@PRMT=@ENDPRMT;@ENDPROP;$DES;$CLT={4AB243A4-FEDF-43dc-903D-6CDDBD9A1878}$CLT;$SUP=&lt;none&gt;$SUP;$ENDXREF;"/>
                  <UML:TaggedValue tag="privatedata5" value="EDGE=1;"/>
                </UML:ModelElement.taggedValue>
              </UML:Generalization>
              <UML:Class name="Observer" xmi.id="EAID_D86F7A6E_265E_4a75_8CF4_6260AC6EB07B" visibility="public" namespace="EAPK_61ABF8C1_CC50_435b_B573_181600C62101" isRoot="false" isLeaf="false" isAbstract="true" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class defines an updating interface for objects that should be notified of changes in a subject."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_61ABF8C1_CC50_435b_B573_181600C62101"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-07 11:31:10"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-09 11:55:48"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Observer"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="Update" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="isAbstract" value="1"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{B9894F57-93FE-4065-90D3-CE60596DDCCF}"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-93FE-4065-90D3-CE60596DDCCF}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
              <UML:Generalization subtype="EAID_06BD8BC3_E401_40fe_B695_B6199C1BE40B" supertype="EAID_D86F7A6E_265E_4a75_8CF4_6260AC6EB07B" xmi.id="EAID_17228C4A_19F8_4a6e_A62A_82586149F29B" visibility="public">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="1"/>
                  <UML:TaggedValue tag="ea_type" value="Generalization"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="1"/>
                  <UML:TaggedValue tag="linecolor" value="0"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="src_visibility" value="Public"/>
                  <UML:TaggedValue tag="src_aggregation" value="0"/>
                  <UML:TaggedValue tag="src_isOrdered" value="false"/>
                  <UML:TaggedValue tag="src_isNavigable" value="false"/>
                  <UML:TaggedValue tag="dst_visibility" value="Public"/>
                  <UML:TaggedValue tag="dst_aggregation" value="0"/>
                  <UML:TaggedValue tag="dst_isOrdered" value="false"/>
                  <UML:TaggedValue tag="dst_isNavigable" value="false"/>
                  <UML:TaggedValue tag="$ea_xref_property" value="$XREFPROP=$XID={80A6ACCC-44F4-4562-824E-F621B0598159}$XID;$NAM=CustomProperties$NAM;$TYP=connector property$TYP;$VIS=Public$VIS;$DES=@PROP=@NAME=isSubstitutable@ENDNAME;@TYPE=boolean@ENDTYPE;@VALU=@ENDVALU;@PRMT=@ENDPRMT;@ENDPROP;$DES;$CLT={17228C4A-19F8-4a6e-A62A-82586149F29B}$CLT;$SUP=&lt;none&gt;$SUP;$ENDXREF;"/>
                  <UML:TaggedValue tag="privatedata5" value="EDGE=1;"/>
                </UML:ModelElement.taggedValue>
              </UML:Generalization>
              <UML:Class name="ConcreteSubject" xmi.id="EAID_E644C29A_DEBB_41cc_B65B_E83BA5B8CB2D" visibility="public" namespace="EAPK_61ABF8C1_CC50_435b_B573_181600C62101" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class stores the state of interest to ConcreteObserver objects and sends notification to its observers when its state changes."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_61ABF8C1_CC50_435b_B573_181600C62101"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-07 11:33:37"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-09 11:55:48"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Observer"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Attribute name="subjectState" changeable="none" visibility="public" ownerScope="instance" targetScope="instance">
                    <UML:Attribute.initialValue>
                      <UML:Expression/>
                    </UML:Attribute.initialValue>
                    <UML:StructuralFeature.type>
                      <UML:Classifier xmi.idref="eaxmiid1"/>
                    </UML:StructuralFeature.type>
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="String"/>
                      <UML:TaggedValue tag="derived" value="0"/>
                      <UML:TaggedValue tag="containment" value="Not Specified"/>
                      <UML:TaggedValue tag="length" value="0"/>
                      <UML:TaggedValue tag="ordered" value="0"/>
                      <UML:TaggedValue tag="precision" value="0"/>
                      <UML:TaggedValue tag="scale" value="0"/>
                      <UML:TaggedValue tag="collection" value="false"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="lowerBound" value="1"/>
                      <UML:TaggedValue tag="upperBound" value="1"/>
                      <UML:TaggedValue tag="duplicates" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{997037C6-629A-487a-8FA4-4078CDF31911}"/>
                      <UML:TaggedValue tag="styleex" value="volatile=0;"/>
                    </UML:ModelElement.taggedValue>
                  </UML:Attribute>
                </UML:Classifier.feature>
              </UML:Class>
              <UML:Association xmi.id="EAID_0606EAFA_A0DB_49fa_93C8_E2021B30F02D" visibility="public" isRoot="false" isLeaf="false" isAbstract="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="1"/>
                  <UML:TaggedValue tag="ea_type" value="Association"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="1"/>
                  <UML:TaggedValue tag="linecolor" value="0"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="privatedata5" value="SX=0;SY=0;EX=0;EY=0;EDGE=4;"/>
                  <UML:TaggedValue tag="virtualInheritance" value="0"/>
                  <UML:TaggedValue tag="rt" value="-subject"/>
                </UML:ModelElement.taggedValue>
                <UML:Association.connection>
                  <UML:AssociationEnd visibility="private" aggregation="none" isOrdered="false" isNavigable="false" type="EAID_06BD8BC3_E401_40fe_B695_B6199C1BE40B">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="containment" value="Unspecified"/>
                    </UML:ModelElement.taggedValue>
                  </UML:AssociationEnd>
                  <UML:AssociationEnd visibility="private" name="subject" aggregation="none" isOrdered="false" isNavigable="true" type="EAID_E644C29A_DEBB_41cc_B65B_E83BA5B8CB2D">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="containment" value="Unspecified"/>
                    </UML:ModelElement.taggedValue>
                  </UML:AssociationEnd>
                </UML:Association.connection>
              </UML:Association>
              <UML:Class name="ConcreteObserver" xmi.id="EAID_06BD8BC3_E401_40fe_B695_B6199C1BE40B" visibility="public" namespace="EAPK_61ABF8C1_CC50_435b_B573_181600C62101" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class maintains a reference to a ConcreteSubject object, stores state that should stay consistent with the subject's and implements the Observer updating interface to keep its state consistent with the subject's."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_61ABF8C1_CC50_435b_B573_181600C62101"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-07 11:34:49"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-09 11:55:48"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Observer"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Attribute name="observerState" changeable="none" visibility="private" ownerScope="instance" targetScope="instance">
                    <UML:Attribute.initialValue>
                      <UML:Expression/>
                    </UML:Attribute.initialValue>
                    <UML:StructuralFeature.type>
                      <UML:Classifier xmi.idref="eaxmiid1"/>
                    </UML:StructuralFeature.type>
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="String"/>
                      <UML:TaggedValue tag="derived" value="0"/>
                      <UML:TaggedValue tag="containment" value="Not Specified"/>
                      <UML:TaggedValue tag="length" value="0"/>
                      <UML:TaggedValue tag="ordered" value="0"/>
                      <UML:TaggedValue tag="precision" value="0"/>
                      <UML:TaggedValue tag="scale" value="0"/>
                      <UML:TaggedValue tag="collection" value="false"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="lowerBound" value="1"/>
                      <UML:TaggedValue tag="upperBound" value="1"/>
                      <UML:TaggedValue tag="duplicates" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{CCC17290-F8F1-4730-A447-03D80691A46F}"/>
                      <UML:TaggedValue tag="styleex" value="volatile=0;"/>
                    </UML:ModelElement.taggedValue>
                  </UML:Attribute>
                  <UML:Operation name="ConcreteObserver" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="behaviour" value="this.subject = subject;"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{D4FE3050-618F-4246-B560-37FCDE388659}"/>
                      <UML:TaggedValue tag="styleex" value="ShowBeh=0;"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid2"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-618F-4246-B560-37FCDE388659}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                      <UML:Parameter name="subject" kind="in" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="EAID_E644C29A_DEBB_41cc_B65B_E83BA5B8CB2D"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="ConcreteSubject"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="classifier" value="EAID_E644C29A_DEBB_41cc_B65B_E83BA5B8CB2D"/>
                          <UML:TaggedValue tag="ea_guid" value="{1F20C80D-F366-4332-8C5D-C88771754073}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                  <UML:Operation name="Update" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="behaviour" value="observerState = subject.subjectState;"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="1"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{0E906DB0-0BBB-4a9d-9DD7-D3B69EB5ED3A}"/>
                      <UML:TaggedValue tag="styleex" value="ShowBeh=0;"/>
                      <UML:TaggedValue tag="override" value="true" xmi.id="EAID_82A1F845_5504_4aa0_8700_687A291CDA96"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-0BBB-4a9d-9DD7-D3B69EB5ED3A}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
            </UML:Namespace.ownedElement>
          </UML:Model>
          <UML:Diagram name="Observer" xmi.id="EAID_3733565D_A822_4f5c_9F62_85251F97B135" diagramType="ClassDiagram" owner="EAPK_3733565D_A822_4f5c_9F62_85251F97B135" toolName="Enterprise Architect 2.5">
            <UML:ModelElement.taggedValue>
              <UML:TaggedValue tag="documentation" value="This pattern defines a one-to-many dependency between objects so that when one object changes state, all its dependents are notified and updated automatically."/>
              <UML:TaggedValue tag="version" value="1.0"/>
              <UML:TaggedValue tag="created_date" value="2004-12-14 13:32:25"/>
              <UML:TaggedValue tag="modified_date" value="2005-02-11 15:40:44"/>
              <UML:TaggedValue tag="package" value="EAPK_61ABF8C1_CC50_435b_B573_181600C62101"/>
              <UML:TaggedValue tag="type" value="Logical"/>
              <UML:TaggedValue tag="swimlanes" value="locked=false;orientation=0;width=0;inbar=false;names=false;color=0;bold=false;fcol=0;;cls=0;"/>
              <UML:TaggedValue tag="EAStyle" value="ShowPrivate=1;ShowProtected=1;ShowPublic=1;HideRelationships=0;Locked=0;Border=1;HighlightForeign=1;PackageContents=1;SequenceNotes=0;ScalePrintImage=0;PPgs.cx=0;PPgs.cy=0;DocSize.cx=780;DocSize.cy=1138;ShowDetails=0;Orientation=P;Zoom=100;ShowTags=0;OpParams=1;ShowIcons=1;CollabNums=0;HideProps=0;ShowReqs=0;ShowCons=0;PaperSize=9;HideParents=0;UseAlias=0;HideAtts=0;HideOps=0;HideStereo=0;HideElemStereo=0;ShowTests=0;ShowMaint=0;"/>
              <UML:TaggedValue tag="styleex" value="ExcludeRTF=0;DocAll=0;HideQuals=0;AttPkg=1;ShowTests=0;ShowMaint=0;SuppressFOC=0;TDurLow=0;TDurHigh=100;TDurUnit=;TDurHide=0;"/>
            </UML:ModelElement.taggedValue>
            <UML:Diagram.element>
              <UML:DiagramElement geometry="Left=321;Top=245;Right=515;Bottom=333;imgL=251;imgT=215;imgR=445;imgB=303;" subject="EAID_06BD8BC3_E401_40fe_B695_B6199C1BE40B" seqno="1" style="DUID=F0706F89;LBL=;"/>
              <UML:DiagramElement geometry="Left=85;Top=254;Right=207;Bottom=324;imgL=15;imgT=224;imgR=137;imgB=294;" subject="EAID_E644C29A_DEBB_41cc_B65B_E83BA5B8CB2D" seqno="2" style="DUID=37504CBA;LBL=;"/>
              <UML:DiagramElement geometry="Left=370;Top=44;Right=466;Bottom=114;imgL=300;imgT=14;imgR=396;imgB=84;" subject="EAID_D86F7A6E_265E_4a75_8CF4_6260AC6EB07B" seqno="3" style="DUID=16B37174;LBL=;"/>
              <UML:DiagramElement geometry="Left=80;Top=40;Right=213;Bottom=119;imgL=10;imgT=10;imgR=143;imgB=89;" subject="EAID_219AF664_F1FD_4b7d_82DA_71012EAB2D67" seqno="4" style="DUID=3CDF2181;LBL=;"/>
              <UML:DiagramElement geometry="SX=0;SY=0;EX=0;EY=0;EDGE=2;$LLB=;LLT=;LMT=;LMB=;LRT=CX=56:CY=15:OX=0:OY=0:HDN=0:BLD=0:ITA=0:UND=0:CLR=-1:ALN=0:DIR=0:ROT=0;LRB=CX=26:CY=15:OX=0:OY=0:HDN=0:BLD=0:ITA=0:UND=0:CLR=-1:ALN=0:DIR=0:ROT=0;Path=;" subject="EAID_660744C9_A043_4948_A902_34F6F13101C4" style="Mode=1;EOID=16B37174;SOID=3CDF2181;Hidden=0;"/>
              <UML:DiagramElement geometry="EDGE=1;$LLB=;LLT=;LMT=;LMB=;LRT=;LRB=;Path=;" subject="EAID_4AB243A4_FEDF_43dc_903D_6CDDBD9A1878" style="Mode=1;EOID=3CDF2181;SOID=37504CBA;Hidden=0;"/>
              <UML:DiagramElement geometry="EDGE=1;$LLB=;LLT=;LMT=;LMB=;LRT=;LRB=;Path=;" subject="EAID_17228C4A_19F8_4a6e_A62A_82586149F29B" style="Mode=1;EOID=16B37174;SOID=F0706F89;Hidden=0;"/>
              <UML:DiagramElement geometry="SX=0;SY=0;EX=0;EY=0;EDGE=4;$LLB=;LLT=;LMT=;LMB=;LRT=CX=46:CY=15:OX=0:OY=0:HDN=0:BLD=0:ITA=0:UND=0:CLR=-1:ALN=0:DIR=0:ROT=0;LRB=;Path=;" subject="EAID_0606EAFA_A0DB_49fa_93C8_E2021B30F02D" style="Mode=1;EOID=37504CBA;SOID=F0706F89;Hidden=0;"/>
            </UML:Diagram.element>
          </UML:Diagram>
        </XMI.content>
        <XMI.difference/>
        <XMI.extensions xmi.extender="Enterprise Architect 2.5">
          <EAStub xmi.id="EAID_219AF664_F1FD_4b7d_82DA_71012EAB2D67" name="Subject" UMLType="Class"/>
          <EAStub xmi.id="EAID_D86F7A6E_265E_4a75_8CF4_6260AC6EB07B" name="Observer" UMLType="Class"/>
          <EAStub xmi.id="EAID_E644C29A_DEBB_41cc_B65B_E83BA5B8CB2D" name="ConcreteSubject" UMLType="Class"/>
          <EAStub xmi.id="EAID_06BD8BC3_E401_40fe_B695_B6199C1BE40B" name="ConcreteObserver" UMLType="Class"/>
          <UMLPattern name="Observer" category="GoF Behavioral Patterns" version="1.0" notes="This pattern defines a one-to-many dependency between objects so that when one object changes state, all its dependents are notified and updated automatically.">
            <UMLPattern.PromptList>
              <Element name="ConcreteObserver:Class" guid="EAID_06BD8BC3_E401_40fe_B695_B6199C1BE40B" id="614" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class maintains a reference to a ConcreteSubject object, stores state that should stay consistent with the subject's and implements the Observer updating interface to keep its state consistent with the subject's.">
                  <![CDATA[This class maintains a reference to a ConcreteSubject object, stores state that should stay consistent with the subject's and implements the Observer updating interface to keep its state consistent with the subject's.]]>
                </Comment>
              </Element>
              <Element name="ConcreteSubject:Class" guid="EAID_E644C29A_DEBB_41cc_B65B_E83BA5B8CB2D" id="613" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class stores the state of interest to ConcreteObserver objects and sends notification to its observers when its state changes.">
                  <![CDATA[This class stores the state of interest to ConcreteObserver objects and sends notification to its observers when its state changes.]]>
                </Comment>
              </Element>
              <Element name="Observer:Class" guid="EAID_D86F7A6E_265E_4a75_8CF4_6260AC6EB07B" id="612" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class defines an updating interface for objects that should be notified of changes in a subject.">
                  <![CDATA[This class defines an updating interface for objects that should be notified of changes in a subject.]]>
                </Comment>
              </Element>
              <Element name="Subject:Class" guid="EAID_219AF664_F1FD_4b7d_82DA_71012EAB2D67" id="611" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class knows its observers and provides an interface for attaching and detaching Observer objects.">
                  <![CDATA[This class knows its observers and provides an interface for attaching and detaching Observer objects.]]>
                </Comment>
              </Element>
            </UMLPattern.PromptList>
            <UMLPattern.PreviewImage xmlns:dt="urn:schemas-microsoft-com:datatypes" dt:dt="bin.base64" cx="12796" cy="8864">AQAAAGwAAAAKAAAACgAAAL8BAAAxAQAAAAAAAAAAAAD8MQAAoCIAACBFTUYAAAEAuCEAANQA AAAJAAAAAAAAAAAAAAAAAAAAAAUAAAAEAABoAQAAIgEAAAAAAAAAAAAAAAAAAEB+BQDQbAQA EQAAAAwAAAAIAAAACQAAABAAAAABAAAA/////woAAAAQAAAARgAAAOL///9SAAAAcAEAAAEA AAD2////AAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAQQBSAEkAQQBMAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkXwAAEAAHOcSAAAA AAAAAAAAhOcSAKznEgC3LJF88C8iAJju7gCM5xIAAAAAAI6ggHwAAEAAmO7uAIznEgCloIB8 +OcSANKPAAAAAAAAEAAAAAUAAAD85xIA/wAAAMDnEgClAtV3POgSAP8AAADY5xIAbHMOAQoA AAD1Gd1zAADqc0AAAAAFAAAAUOkSAAAAAABo5epzvOcSAFjpEgAX7+Zz/////7joEgCeJt1z BQAAAFDpEgBQ6RIABQAAAAAAEgA/Qt1zmGAiDjzoEgAFAAAAPOgSAFDpEgAXQt1zBQAAADzo EgAFAAAAAAEAAA5K3XM86BIAAAAAAFxK3XNkdgAIAAAAACUAAAAMAAAAAQAAACcAAAAYAAAA AgAAAAAAAAD88uMAAAAAACUAAAAMAAAAAgAAACYAAAAcAAAAAwAAAAAAAAABAAAAAAAAAAAA AAAlAAAADAAAAAMAAAASAAAADAAAAAEAAAAhAAAACAAAABgAAAAMAAAAAAAAACYAAAAcAAAA BAAAAAAAAAABAAAAAAAAAAAAAAAlAAAADAAAAAQAAAASAAAADAAAAAIAAAAZAAAADAAAAP// /wASAAAADAAAAAEAAAAZAAAADAAAAP///wASAAAADAAAAAIAAAAZAAAADAAAAP///wASAAAA DAAAAAEAAAAZAAAADAAAAP///wASAAAADAAAAAIAAAAZAAAADAAAAP///wASAAAADAAAAAEA AAAZAAAADAAAAP///wASAAAADAAAAAIAAAAZAAAADAAAAP///wASAAAADAAAAAEAAAAZAAAA DAAAAP///wAlAAAADAAAAAMAAAAiAAAADAAAAP////8oAAAADAAAAAQAAAAnAAAAGAAAAAQA AAAAAAAAwL/AAAAAAAAlAAAADAAAAAQAAAAmAAAAHAAAAAUAAAAAAAAAAQAAAAAAAADAv8AA JQAAAAwAAAAFAAAAOQAAAAwAAAACAAAAKwAAABgAAABTAAAA1f///9cAAACH////JQAAAAwA AAACAAAAKAAAAAwAAAAEAAAAJQAAAAwAAAADAAAAKAAAAAwAAAAFAAAAKwAAABgAAABQAAAA 2P///9QAAACK////UgAAAHABAAAFAAAA9v///wAAAAAAAAAAAAAAALwCAAABAAABAAAAAEEA UgBJAEEATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAABIAAAAAAAAAAACE5xIArOcSALcskXzwLyIAmO7uAIznEgAAAAAAjqCAfAAA QACY7u4AjOcSAKWggHz45xIA0o8AAAAAAAAQAAAABQAAAPznEgD/AAAAwOcSAKUC1Xc86BIA /wAAANjnEgBscw4BCgAAAPUZ3XMAAOpzQAAAAAAAAABQ6RIAAAAAAGjl6nO85xIAWOkSABfv 5nP/////uOgSAJ4m3XMFAAAAUOkSAFDpEgAFAAAAAAASAD9C3XMAAMJ3CAAAAP////886BIA EAAAAC6lw3egGsZ3mOkSAEPDwncEAAAAzsPCdwfEwnfonx8O/////6AaxneQjmgBZHYACAAA AAAlAAAADAAAAAUAAABUAAAAeAAAADoAAAATAAAAXwAAAB0AAAABAAAAAADhQQCQ4sGAAAAA z////wcAAABMAAAAAAAAAAAAAAAAAAAA//////////9cAAAAUwB1AGIAagBlAGMAdAA4MQcA AAAGAAAABgAAAAMAAAAGAAAABgAAAAMAAAAlAAAADAAAAAEAAAAbAAAAEAAAAFAAAAC9//// NgAAABAAAADUAAAAvf///xgAAAAMAAAAAACAABgAAAAMAAAAAAAAABgAAAAMAAAAAEBAAFQA AABYAAAADwAAAC0AAAAYAAAAOQAAAAEAAAAAAOFBAJDiwVUAAAC1////AgAAAEwAAAAAAAAA AAAAAAAAAAD//////////1AAAAArACAABgAAAAMAAABUAAAA2AAAACAAAAAtAAAAigAAADkA AAABAAAAAADhQQCQ4sFmAAAAtf///xcAAABMAAAAAAAAAAAAAAAAAAAA//////////98AAAA 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</UMLPattern.PreviewImage>
          </UMLPattern>
        </XMI.extensions>
      </XMI>
    </UMLPattern>
    <UMLPattern>
      <XMI xmi.version="1.1" xmlns:UML="omg.org/UML1.3" timestamp="2005-02-11 15:27:37">
        <XMI.header>
          <XMI.documentation>
            <XMI.exporter>Enterprise Architect</XMI.exporter>
            <XMI.exporterVersion>2.5</XMI.exporterVersion>
          </XMI.documentation>
        </XMI.header>
        <XMI.content>
          <UML:Model name="EA Model" xmi.id="MX_EAID_EFBA62D7_4F01_4eab_BE96_9716D693A9DA">
            <UML:Namespace.ownedElement>
              <UML:Class name="Prototype" xmi.id="EAID_54579549_C34D_424b_845F_3E0EEC1591C2" visibility="public" namespace="EAPK_EFBA62D7_4F01_4eab_BE96_9716D693A9DA" isRoot="false" isLeaf="false" isAbstract="true" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class declares an interface for cloning itself."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_EFBA62D7_4F01_4eab_BE96_9716D693A9DA"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-06 21:44:09"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-09 11:31:31"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Prototype"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="Clone" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="Prototype"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="isAbstract" value="1"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{042233D4-3236-4f04-A7CB-C2E84BB40128}"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="EAID_54579549_C34D_424b_845F_3E0EEC1591C2"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="Prototype"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="classifier" value="EAID_54579549_C34D_424b_845F_3E0EEC1591C2"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-3236-4f04-A7CB-C2E84BB40128}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
              <UML:Generalization subtype="EAID_59439B59_021E_4e8c_B9EC_E3B7F504D95D" supertype="EAID_54579549_C34D_424b_845F_3E0EEC1591C2" xmi.id="EAID_239A4604_DA7A_4160_A288_FDA8200A0584" visibility="public">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="3"/>
                  <UML:TaggedValue tag="ea_type" value="Generalization"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="3"/>
                  <UML:TaggedValue tag="linecolor" value="0"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="subtype" value="Tree"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="src_visibility" value="Public"/>
                  <UML:TaggedValue tag="src_aggregation" value="0"/>
                  <UML:TaggedValue tag="src_isOrdered" value="false"/>
                  <UML:TaggedValue tag="src_isNavigable" value="false"/>
                  <UML:TaggedValue tag="dst_visibility" value="Public"/>
                  <UML:TaggedValue tag="dst_aggregation" value="0"/>
                  <UML:TaggedValue tag="dst_isOrdered" value="false"/>
                  <UML:TaggedValue tag="dst_isNavigable" value="false"/>
                  <UML:TaggedValue tag="privatedata5" value="SX=0;SY=0;"/>
                </UML:ModelElement.taggedValue>
              </UML:Generalization>
              <UML:Generalization subtype="EAID_1FD404D2_18AF_4273_BA46_894249E5201E" supertype="EAID_54579549_C34D_424b_845F_3E0EEC1591C2" xmi.id="EAID_F1F4A273_B45B_471e_9B0F_D267B588AFCF" visibility="public">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="3"/>
                  <UML:TaggedValue tag="ea_type" value="Generalization"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="3"/>
                  <UML:TaggedValue tag="linecolor" value="0"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="subtype" value="Tree"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="src_visibility" value="Public"/>
                  <UML:TaggedValue tag="src_aggregation" value="0"/>
                  <UML:TaggedValue tag="src_isOrdered" value="false"/>
                  <UML:TaggedValue tag="src_isNavigable" value="false"/>
                  <UML:TaggedValue tag="dst_visibility" value="Public"/>
                  <UML:TaggedValue tag="dst_aggregation" value="0"/>
                  <UML:TaggedValue tag="dst_isOrdered" value="false"/>
                  <UML:TaggedValue tag="dst_isNavigable" value="false"/>
                  <UML:TaggedValue tag="privatedata5" value="SX=0;SY=0;"/>
                </UML:ModelElement.taggedValue>
              </UML:Generalization>
              <UML:Class name="ConcretePrototype1" xmi.id="EAID_59439B59_021E_4e8c_B9EC_E3B7F504D95D" visibility="public" namespace="EAPK_EFBA62D7_4F01_4eab_BE96_9716D693A9DA" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class implements an operation for cloning itself."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_EFBA62D7_4F01_4eab_BE96_9716D693A9DA"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-06 21:44:50"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-09 11:31:31"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Prototype"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="Clone" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="Prototype"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="behaviour" value="return this.Clone();"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{B3F5048B-B295-47f7-AEEE-E17ACE7BB6EC}"/>
                      <UML:TaggedValue tag="styleex" value="ShowBeh=0;"/>
                      <UML:TaggedValue tag="override" value="true" xmi.id="EAID_D92D6B0B_2BFF_422b_AF7E_8AC17DF59F26"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="EAID_54579549_C34D_424b_845F_3E0EEC1591C2"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="Prototype"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="classifier" value="EAID_54579549_C34D_424b_845F_3E0EEC1591C2"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-B295-47f7-AEEE-E17ACE7BB6EC}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
              <UML:Class name="ConcretePrototype2" xmi.id="EAID_1FD404D2_18AF_4273_BA46_894249E5201E" visibility="public" namespace="EAPK_EFBA62D7_4F01_4eab_BE96_9716D693A9DA" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class implements an operation for cloning itself."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_EFBA62D7_4F01_4eab_BE96_9716D693A9DA"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-06 21:45:09"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-09 11:31:31"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Prototype"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="Clone" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="Prototype"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="behaviour" value="return this.Clone();"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{C089DA22-D4C3-42f4-B3CB-A51A1335444B}"/>
                      <UML:TaggedValue tag="styleex" value="ShowBeh=0;"/>
                      <UML:TaggedValue tag="override" value="true" xmi.id="EAID_8D1CAFC8_4B77_420f_9ACA_4016B4987FC3"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="EAID_54579549_C34D_424b_845F_3E0EEC1591C2"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="Prototype"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="classifier" value="EAID_54579549_C34D_424b_845F_3E0EEC1591C2"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-D4C3-42f4-B3CB-A51A1335444B}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
            </UML:Namespace.ownedElement>
          </UML:Model>
          <UML:Diagram name="Prototype" xmi.id="EAID_B45AE122_9738_452b_AE2B_26E5C56AAE21" diagramType="ClassDiagram" owner="EAPK_B45AE122_9738_452b_AE2B_26E5C56AAE21" toolName="Enterprise Architect 2.5">
            <UML:ModelElement.taggedValue>
              <UML:TaggedValue tag="documentation" value="This pattern specifies the kinds of objects to create using a prototypical instance, and creates new objects by copying this prototype."/>
              <UML:TaggedValue tag="version" value="1.0"/>
              <UML:TaggedValue tag="created_date" value="2004-12-14 13:31:42"/>
              <UML:TaggedValue tag="modified_date" value="2005-02-01 16:26:28"/>
              <UML:TaggedValue tag="package" value="EAPK_EFBA62D7_4F01_4eab_BE96_9716D693A9DA"/>
              <UML:TaggedValue tag="type" value="Logical"/>
              <UML:TaggedValue tag="swimlanes" value="locked=false;orientation=0;width=0;inbar=false;names=false;color=0;bold=false;fcol=0;;cls=0;"/>
              <UML:TaggedValue tag="EAStyle" value="ShowPrivate=1;ShowProtected=1;ShowPublic=1;HideRelationships=0;Locked=0;Border=1;HighlightForeign=1;PackageContents=1;SequenceNotes=0;ScalePrintImage=0;PPgs.cx=0;PPgs.cy=0;DocSize.cx=780;DocSize.cy=1138;ShowDetails=0;Orientation=P;Zoom=100;ShowTags=0;OpParams=1;ShowIcons=1;CollabNums=0;HideProps=0;ShowReqs=0;ShowCons=0;PaperSize=9;HideParents=0;UseAlias=0;HideAtts=0;HideOps=0;HideStereo=0;HideElemStereo=0;ShowTests=0;ShowMaint=0;"/>
              <UML:TaggedValue tag="styleex" value="ExcludeRTF=0;DocAll=0;HideQuals=0;AttPkg=1;ShowTests=0;ShowMaint=0;SuppressFOC=0;TDurLow=0;TDurHigh=100;TDurUnit=;TDurHide=0;"/>
            </UML:ModelElement.taggedValue>
            <UML:Diagram.element>
              <UML:DiagramElement geometry="Left=209;Top=180;Right=324;Bottom=259;imgL=157;imgT=151;imgR=272;imgB=230;" subject="EAID_1FD404D2_18AF_4273_BA46_894249E5201E" seqno="1" style="DUID=941C1B35;LBL=;"/>
              <UML:DiagramElement geometry="Left=62;Top=180;Right=177;Bottom=259;imgL=10;imgT=151;imgR=125;imgB=230;" subject="EAID_59439B59_021E_4e8c_B9EC_E3B7F504D95D" seqno="2" style="DUID=2EF40268;LBL=;"/>
              <UML:DiagramElement geometry="Left=134;Top=39;Right=249;Bottom=109;imgL=82;imgT=10;imgR=197;imgB=80;" subject="EAID_54579549_C34D_424b_845F_3E0EEC1591C2" seqno="3" style="DUID=821A1E93;LBL=;"/>
              <UML:DiagramElement geometry="SX=0;SY=0;EDGE=1;$LLB=;LLT=;LMT=;LMB=;LRT=;LRB=;Path=119:-159$191:-159$;" subject="EAID_239A4604_DA7A_4160_A288_FDA8200A0584" style="Mode=3;EOID=821A1E93;SOID=2EF40268;Hidden=0;"/>
              <UML:DiagramElement geometry="SX=0;SY=0;EDGE=1;$LLB=;LLT=;LMT=;LMB=;LRT=;LRB=;Path=266:-159$191:-159$;" subject="EAID_F1F4A273_B45B_471e_9B0F_D267B588AFCF" style="Mode=3;EOID=821A1E93;SOID=941C1B35;Hidden=0;"/>
            </UML:Diagram.element>
          </UML:Diagram>
        </XMI.content>
        <XMI.difference/>
        <XMI.extensions xmi.extender="Enterprise Architect 2.5">
          <EAStub xmi.id="EAID_59439B59_021E_4e8c_B9EC_E3B7F504D95D" name="ConcretePrototype1" UMLType="Class"/>
          <EAStub xmi.id="EAID_54579549_C34D_424b_845F_3E0EEC1591C2" name="Prototype" UMLType="Class"/>
          <EAStub xmi.id="EAID_1FD404D2_18AF_4273_BA46_894249E5201E" name="ConcretePrototype2" UMLType="Class"/>
          <UMLPattern name="Prototype" category="GoF Creational Patterns" version="1.0" notes="This pattern specifies the kinds of objects to create using a prototypical instance, and creates new objects by copying this prototype.">
            <UMLPattern.PromptList>
              <Element name="ConcretePrototype2:Class" guid="EAID_1FD404D2_18AF_4273_BA46_894249E5201E" id="779" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class implements an operation for cloning itself.">
                  <![CDATA[This class implements an operation for cloning itself.]]>
                </Comment>
              </Element>
              <Element name="ConcretePrototype1:Class" guid="EAID_59439B59_021E_4e8c_B9EC_E3B7F504D95D" id="778" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class implements an operation for cloning itself.">
                  <![CDATA[This class implements an operation for cloning itself.]]>
                </Comment>
              </Element>
              <Element name="Prototype:Class" guid="EAID_54579549_C34D_424b_845F_3E0EEC1591C2" id="777" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class declares an interface for cloning itself.">
                  <![CDATA[This class declares an interface for cloning itself.]]>
                </Comment>
              </Element>
            </UMLPattern.PromptList>
            <UMLPattern.PreviewImage xmlns:dt="urn:schemas-microsoft-com:datatypes" dt:dt="bin.base64" cx="7931" cy="6796">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 AAA=</UMLPattern.PreviewImage>
          </UMLPattern>
        </XMI.extensions>
      </XMI>
    </UMLPattern>
    <UMLPattern>
      <XMI xmi.version="1.1" xmlns:UML="omg.org/UML1.3" timestamp="2005-02-11 15:21:51">
        <XMI.header>
          <XMI.documentation>
            <XMI.exporter>Enterprise Architect</XMI.exporter>
            <XMI.exporterVersion>2.5</XMI.exporterVersion>
          </XMI.documentation>
        </XMI.header>
        <XMI.content>
          <UML:Model name="EA Model" xmi.id="MX_EAID_8E4B4313_B004_4431_92AB_E4D8F48B22A2">
            <UML:Namespace.ownedElement>
              <UML:Class name="Subject" xmi.id="EAID_5342D2B8_7DC1_415e_936C_E80AD9D7F805" visibility="public" namespace="EAPK_8E4B4313_B004_4431_92AB_E4D8F48B22A2" isRoot="false" isLeaf="false" isAbstract="true" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class defines the common interface for RealSubject and Proxy so that a Proxy can be used anywhere a RealSubject is expected."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_8E4B4313_B004_4431_92AB_E4D8F48B22A2"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-06 23:22:55"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-11 14:58:19"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Proxy"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="Request" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="isAbstract" value="1"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{09DC2478-F232-4818-B005-58218FF2370A}"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-F232-4818-B005-58218FF2370A}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
              <UML:Generalization subtype="EAID_DBB42675_0E34_4a34_A03F_25BFA0D837AB" supertype="EAID_5342D2B8_7DC1_415e_936C_E80AD9D7F805" xmi.id="EAID_6E7E95F6_3EF6_427d_9892_9F1840ADE287" visibility="public">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="3"/>
                  <UML:TaggedValue tag="ea_type" value="Generalization"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="3"/>
                  <UML:TaggedValue tag="linecolor" value="0"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="subtype" value="Tree"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="src_visibility" value="Public"/>
                  <UML:TaggedValue tag="src_aggregation" value="0"/>
                  <UML:TaggedValue tag="src_isOrdered" value="false"/>
                  <UML:TaggedValue tag="src_isNavigable" value="false"/>
                  <UML:TaggedValue tag="dst_visibility" value="Public"/>
                  <UML:TaggedValue tag="dst_aggregation" value="0"/>
                  <UML:TaggedValue tag="dst_isOrdered" value="false"/>
                  <UML:TaggedValue tag="dst_isNavigable" value="false"/>
                  <UML:TaggedValue tag="privatedata5" value="SX=0;SY=1;"/>
                </UML:ModelElement.taggedValue>
              </UML:Generalization>
              <UML:Generalization subtype="EAID_C9226529_C21F_4917_A531_EBA0EC204138" supertype="EAID_5342D2B8_7DC1_415e_936C_E80AD9D7F805" xmi.id="EAID_9D456132_DFC9_4095_ADC3_CD05624608E1" visibility="public">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="3"/>
                  <UML:TaggedValue tag="ea_type" value="Generalization"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="3"/>
                  <UML:TaggedValue tag="linecolor" value="0"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="subtype" value="Tree"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="src_visibility" value="Public"/>
                  <UML:TaggedValue tag="src_aggregation" value="0"/>
                  <UML:TaggedValue tag="src_isOrdered" value="false"/>
                  <UML:TaggedValue tag="src_isNavigable" value="false"/>
                  <UML:TaggedValue tag="dst_visibility" value="Public"/>
                  <UML:TaggedValue tag="dst_aggregation" value="0"/>
                  <UML:TaggedValue tag="dst_isOrdered" value="false"/>
                  <UML:TaggedValue tag="dst_isNavigable" value="false"/>
                  <UML:TaggedValue tag="privatedata5" value="SX=0;SY=0;"/>
                </UML:ModelElement.taggedValue>
              </UML:Generalization>
              <UML:Class name="RealSubject" xmi.id="EAID_DBB42675_0E34_4a34_A03F_25BFA0D837AB" visibility="public" namespace="EAPK_8E4B4313_B004_4431_92AB_E4D8F48B22A2" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class defines the real object that the proxy represents."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_8E4B4313_B004_4431_92AB_E4D8F48B22A2"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-06 23:23:31"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-08 16:49:48"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Proxy"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="Request" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{6141662E-0DF8-44e8-8A14-A59C3DEAF055}"/>
                      <UML:TaggedValue tag="override" value="true" xmi.id="EAID_54E9255B_F10C_48e4_A9FF_97ACA5090693"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-0DF8-44e8-8A14-A59C3DEAF055}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
              <UML:Association xmi.id="EAID_CBD970EA_7840_4b76_9D94_FB542A48CFDB" visibility="public" isRoot="false" isLeaf="false" isAbstract="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="2"/>
                  <UML:TaggedValue tag="ea_type" value="Association"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="2"/>
                  <UML:TaggedValue tag="linecolor" value="0"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="privatedata5" value="SX=0;SY=0;EX=0;EY=0;"/>
                  <UML:TaggedValue tag="virtualInheritance" value="0"/>
                  <UML:TaggedValue tag="lt" value="-realSubject"/>
                </UML:ModelElement.taggedValue>
                <UML:Association.connection>
                  <UML:AssociationEnd visibility="private" aggregation="none" isOrdered="false" isNavigable="false" type="EAID_C9226529_C21F_4917_A531_EBA0EC204138">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="containment" value="Unspecified"/>
                    </UML:ModelElement.taggedValue>
                  </UML:AssociationEnd>
                  <UML:AssociationEnd visibility="private" name="realSubject" aggregation="none" isOrdered="false" isNavigable="true" type="EAID_DBB42675_0E34_4a34_A03F_25BFA0D837AB">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="containment" value="Unspecified"/>
                    </UML:ModelElement.taggedValue>
                  </UML:AssociationEnd>
                </UML:Association.connection>
              </UML:Association>
              <UML:Class name="Proxy" xmi.id="EAID_C9226529_C21F_4917_A531_EBA0EC204138" visibility="public" namespace="EAPK_8E4B4313_B004_4431_92AB_E4D8F48B22A2" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class (a) maintains a reference that lets the proxy access the real subject, (b) provides an interface identical to Subject's so that a proxy can be substituted for the real subject, and (c) controls access to the real subject and may be responsible for creating and deleting it."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_8E4B4313_B004_4431_92AB_E4D8F48B22A2"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-06 23:23:54"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-11 14:58:19"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Proxy"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="Request" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="behaviour" value="if (realSubject == null)&#xA;    realSubject = new RealSubject();&#xA;&#xA;realSubject.Request();"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{423CDE01-D14D-4d5e-9893-CDC626EC4125}"/>
                      <UML:TaggedValue tag="styleex" value="ShowBeh=0;"/>
                      <UML:TaggedValue tag="override" value="true" xmi.id="EAID_3521C8F5_81BF_469b_B938_69DEFFDA01B6"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-D14D-4d5e-9893-CDC626EC4125}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
            </UML:Namespace.ownedElement>
          </UML:Model>
          <UML:Diagram name="Proxy" xmi.id="EAID_E00DC950_F577_4999_8943_4019E827D4E6" diagramType="ClassDiagram" owner="EAPK_E00DC950_F577_4999_8943_4019E827D4E6" toolName="Enterprise Architect 2.5">
            <UML:ModelElement.taggedValue>
              <UML:TaggedValue tag="documentation" value="This pattern provides a surrogate or placeholder for another object to control access to it."/>
              <UML:TaggedValue tag="version" value="1.0"/>
              <UML:TaggedValue tag="created_date" value="2004-12-14 13:32:04"/>
              <UML:TaggedValue tag="modified_date" value="2005-02-11 14:58:19"/>
              <UML:TaggedValue tag="package" value="EAPK_8E4B4313_B004_4431_92AB_E4D8F48B22A2"/>
              <UML:TaggedValue tag="type" value="Logical"/>
              <UML:TaggedValue tag="swimlanes" value="locked=false;orientation=0;width=0;inbar=false;names=false;color=0;bold=false;fcol=0;;cls=0;"/>
              <UML:TaggedValue tag="EAStyle" value="ShowPrivate=1;ShowProtected=1;ShowPublic=1;HideRelationships=0;Locked=0;Border=1;HighlightForeign=1;PackageContents=1;SequenceNotes=0;ScalePrintImage=0;PPgs.cx=0;PPgs.cy=0;DocSize.cx=780;DocSize.cy=1138;ShowDetails=0;Orientation=P;Zoom=100;ShowTags=0;OpParams=1;ShowIcons=1;CollabNums=0;HideProps=0;ShowReqs=0;ShowCons=0;PaperSize=9;HideParents=0;UseAlias=0;HideAtts=0;HideOps=0;HideStereo=0;HideElemStereo=0;ShowTests=0;ShowMaint=0;"/>
              <UML:TaggedValue tag="styleex" value="ExcludeRTF=0;DocAll=0;HideQuals=0;AttPkg=1;ShowTests=0;ShowMaint=0;SuppressFOC=0;TDurLow=0;TDurHigh=100;TDurUnit=;TDurHide=0;"/>
            </UML:ModelElement.taggedValue>
            <UML:Diagram.element>
              <UML:DiagramElement geometry="Left=318;Top=192;Right=418;Bottom=262;imgL=203;imgT=161;imgR=303;imgB=231;" subject="EAID_C9226529_C21F_4917_A531_EBA0EC204138" seqno="1" style="DUID=012C0A6C;LBL=;"/>
              <UML:DiagramElement geometry="Left=125;Top=192;Right=225;Bottom=262;imgL=10;imgT=161;imgR=110;imgB=231;" subject="EAID_DBB42675_0E34_4a34_A03F_25BFA0D837AB" seqno="2" style="DUID=9D40ECCF;LBL=;"/>
              <UML:DiagramElement geometry="Left=228;Top=41;Right=329;Bottom=111;imgL=113;imgT=10;imgR=214;imgB=80;" subject="EAID_5342D2B8_7DC1_415e_936C_E80AD9D7F805" seqno="3" style="DUID=BFA6A7D1;LBL=;"/>
              <UML:DiagramElement geometry="SX=0;SY=1;EDGE=1;$LLB=;LLT=;LMT=;LMB=;LRT=;LRB=;Path=175:-161$278:-161$;" subject="EAID_6E7E95F6_3EF6_427d_9892_9F1840ADE287" style="Mode=3;EOID=BFA6A7D1;SOID=9D40ECCF;Hidden=0;"/>
              <UML:DiagramElement geometry="SX=0;SY=0;EDGE=1;$LLB=;LLT=;LMT=;LMB=;LRT=;LRB=;Path=368:-161$278:-161$;" subject="EAID_9D456132_DFC9_4095_ADC3_CD05624608E1" style="Mode=3;EOID=BFA6A7D1;SOID=012C0A6C;Hidden=0;"/>
              <UML:DiagramElement geometry="SX=0;SY=0;EX=0;EY=0;EDGE=4;$LLB=;LLT=;LMT=;LMB=;LRT=CX=67:CY=15:OX=0:OY=0:HDN=0:BLD=0:ITA=0:UND=0:CLR=-1:ALN=0:DIR=0:ROT=0;LRB=;Path=;" subject="EAID_CBD970EA_7840_4b76_9D94_FB542A48CFDB" style="Mode=2;EOID=9D40ECCF;SOID=012C0A6C;Hidden=0;"/>
            </UML:Diagram.element>
          </UML:Diagram>
        </XMI.content>
        <XMI.difference/>
        <XMI.extensions xmi.extender="Enterprise Architect 2.5">
          <EAStub xmi.id="EAID_DBB42675_0E34_4a34_A03F_25BFA0D837AB" name="RealSubject" UMLType="Class"/>
          <EAStub xmi.id="EAID_5342D2B8_7DC1_415e_936C_E80AD9D7F805" name="Subject" UMLType="Class"/>
          <EAStub xmi.id="EAID_C9226529_C21F_4917_A531_EBA0EC204138" name="Proxy" UMLType="Class"/>
          <UMLPattern name="Proxy" category="GoF Structural Patterns" version="1.0" notes="This pattern provides a surrogate or placeholder for another object to control access to it.">
            <UMLPattern.PromptList>
              <Element name="Proxy:Class" guid="EAID_C9226529_C21F_4917_A531_EBA0EC204138" id="881" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class (a) maintains a reference that lets the proxy access the real subject, (b) provides an interface identical to Subject's so that a proxy can be substituted for the real subject, and (c) controls access to the real subject and may be responsible for creating and deleting it.">
                  <![CDATA[This class (a) maintains a reference that lets the proxy access the real subject, (b) provides an interface identical to Subject's so that a proxy can be substituted for the real subject, and (c) controls access to the real subject and may be responsible for creating and deleting it.]]>
                </Comment>
              </Element>
              <Element name="RealSubject:Class" guid="EAID_DBB42675_0E34_4a34_A03F_25BFA0D837AB" id="880" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class defines the real object that the proxy represents.">
                  <![CDATA[This class defines the real object that the proxy represents.]]>
                </Comment>
              </Element>
              <Element name="Subject:Class" guid="EAID_5342D2B8_7DC1_415e_936C_E80AD9D7F805" id="879" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class defines the common interface for RealSubject and Proxy so that a Proxy can be used anywhere a RealSubject is expected.">
                  <![CDATA[This class defines the common interface for RealSubject and Proxy so that a Proxy can be used anywhere a RealSubject is expected.]]>
                </Comment>
              </Element>
            </UMLPattern.PromptList>
            <UMLPattern.PreviewImage xmlns:dt="urn:schemas-microsoft-com:datatypes" dt:dt="bin.base64" cx="8803" cy="6825">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 EgAFAAAAAAASAD9C3XMAAMJ3CAAAAP////886BIAEAAAAC6lw3egGsZ3mOkSAEPDwncEAAAA zsPCdwfEwneg1ZEB/////2R2AAggFmgBZHYACAAAAAAlAAAADAAAAAcAAABUAAAAkAAAAB4A AACqAAAAWgAAALUAAAABAAAAAADhQQCQ4sGRAAAAN////wsAAABMAAAAAAAAAAAAAAAAAAAA //////////9kAAAAUgBlAGEAbABTAHUAYgBqAGUAYwB0AAAABwAAAAYAAAAGAAAAAwAAAAcA AAAGAAAABgAAAAQAAAAGAAAABgAAAAMAAAAlAAAADAAAAAEAAAAbAAAAEAAAAH0AAAAl//// NgAAABAAAADgAAAAJf///xgAAAAMAAAAAACAABgAAAAMAAAAAAAAABgAAAAMAAAAAEBAAFQA AABYAAAADwAAAMQAAAAYAAAA0AAAAAEAAAAAAOFBAJDiwYIAAAAd////AgAAAEwAAAAAAAAA AAAAAAAAAAD//////////1AAAAArACAABgAAAAMAAABUAAAArAAAACAAAADEAAAAaQAAANAA AAABAAAAAADhQQCQ4sGTAAAAHf///xAAAABMAAAAAAAAAAAAAAAAAAAA//////////9sAAAA UgBlAHEAdQBlAHMAdAAoACkAIAA6ACAAdgBvAGkAZAAHAAAABgAAAAYAAAAGAAAABgAAAAQA AAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAAFAAAABgAAAAMAAAAGAAAAGAAAAAwAAAAAAAAA JwAAABgAAAAGAAAAAAAAAMC/wAAAAAAAJQAAAAwAAAAGAAAAJgAAABwAAAAIAAAAAAAAAAEA AAAAAAAAwL/AACUAAAAMAAAACAAAACsAAAAYAAAAQQEAAD3///+kAQAA+P7//yUAAAAMAAAA AgAAACgAAAAMAAAABgAAACUAAAAMAAAAAwAAACgAAAAMAAAACAAAACsAAAAYAAAAPgEAAED/ //+hAQAA+/7//yUAAAAMAAAABwAAAFQAAABsAAAA7wAAAKoAAAALAQAAtQAAAAEAAAAAAOFB AJDiwWIBAAA3////BQAAAEwAAAAAAAAAAAAAAAAAAAD//////////1gAAABQAHIAbwB4AHkA AAAHAAAABAAAAAYAAAAGAAAABQAAACUAAAAMAAAAAQAAABsAAAAQAAAAPgEAACX///82AAAA EAAAAKEBAAAl////GAAAAAwAAAAAAIAAGAAAAAwAAAAAAAAAGAAAAAwAAAAAQEAAVAAAAFgA AADQAAAAxAAAANkAAADQAAAAAQAAAAAA4UEAkOLBQwEAAB3///8CAAAATAAAAAAAAAAAAAAA AAAAAP//////////UAAAACsAIAAGAAAAAwAAAFQAAACsAAAA4QAAAMQAAAAqAQAA0AAAAAEA AAAAAOFBAJDiwVQBAAAd////EAAAAEwAAAAAAAAAAAAAAAAAAAD//////////2wAAABSAGUA cQB1AGUAcwB0ACgAKQAgADoAIAB2AG8AaQBkAAcAAAAGAAAABgAAAAYAAAAGAAAABAAAAAMA AAADAAAAAwAAAAMAAAADAAAAAwAAAAUAAAAGAAAAAwAAAAYAAAAYAAAADAAAAAAAAAAmAAAA HAAAAAgAAAAAAAAAAQAAAAAAAAAAAAAAJQAAAAwAAAAIAAAAGwAAABAAAACvAAAAQP///zYA AAAQAAAArwAAAF////82AAAAEAAAABYBAABf////NgAAABAAAAAWAQAAkf///xsAAAAQAAAA FgEAAJH///9WAAAAKAAAAJ4AAABQAAAAqQAAAF8AAAADAAAAHAGC/xEBgv8WAZH/EgAAAAwA AAACAAAAGQAAAAwAAAD///8AEgAAAAwAAAABAAAAGQAAAAwAAAD///8AJQAAAAwAAAADAAAA KAAAAAwAAAAIAAAAJgAAABwAAAAIAAAAAAAAAAEAAAAAAAAAAAAAACUAAAAMAAAACAAAABsA AAAQAAAAcAEAAED///82AAAAEAAAAHABAABf////NgAAABAAAAAWAQAAX////zYAAAAQAAAA FgEAAJH///8bAAAAEAAAABYBAACR////VgAAACgAAACeAAAAUAAAAKkAAABfAAAAAwAAABwB gv8RAYL/FgGR/xIAAAAMAAAAAgAAABkAAAAMAAAA////ABIAAAAMAAAAAQAAABkAAAAMAAAA ////ACUAAAAMAAAAAwAAACgAAAAMAAAACAAAACYAAAAcAAAACAAAAAAAAAABAAAAAAAAAAAA AAAlAAAADAAAAAgAAAAbAAAAEAAAAD4BAAAd////NgAAABAAAAAQAQAAHf///zYAAAAQAAAA EAEAAB3///82AAAAEAAAAOEAAAAd////GwAAABAAAADhAAAAHf///xsAAAAQAAAA4QAAAB3/ //82AAAAEAAAAPAAAAAj////GwAAABAAAADhAAAAHf///zYAAAAQAAAA8AAAABf///8SAAAA DAAAAAIAAAAZAAAADAAAAP///wBSAAAAcAEAAAYAAAD2////AAAAAAAAAAAAAAAAAAAAAAAA AAEAAAAAQQBSAEkAQQBMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAEgAAAAAAAAAAAITnEgCs5xIAtyyRfPAvIgCY7u4AjOcSAAAA AACOoIB8AABAAJju7gCM5xIApaCAfPjnEgDSjwAAAAAAABAAAAAFAAAA/OcSAP8AAADA5xIA pQLVdzzoEgD/AAAA2OcSAGxzDgEKAAAA9RndcwAA6nNAAAAAAAAAAFDpEgAAAAAAaOXqc7zn EgBY6RIAF+/mc/////+46BIAnibdcwUAAABQ6RIAUOkSAAUAAAAAABIAP0LdcwAAHg486BIA BQAAADzoEgBQ6RIAF0LdcwUAAAA86BIABQAAAAABAAAOSt1zPOgSAAAAAABcSt1zZHYACAAA AABkdgAIAAAAACUAAAAMAAAABgAAAFQAAACUAAAAcQAAALIAAACqAAAAvgAAAAEAAAAAAOFB AJDiweQAAAAv////DAAAAEwAAAAAAAAAAAAAAAAAAAD//////////2QAAAAtAHIAZQBhAGwA UwB1AGIAagBlAGMAdAADAAAAAwAAAAYAAAAGAAAAAwAAAAcAAAAGAAAABgAAAAMAAAAGAAAA BQAAAAMAAAAlAAAADAAAAAEAAAAoAAAADAAAAAYAAAASAAAADAAAAAEAAAAZAAAADAAAAP// /wAlAAAADAAAAAMAAAAoAAAADAAAAAgAAAAlAAAADAAAAA0AAIAoAAAADAAAAAEAAAAoAAAA DAAAAAcAAAAlAAAADAAAAAAAAIAoAAAADAAAAAIAAAAlAAAADAAAAAcAAIAoAAAADAAAAAMA AAAOAAAAFAAAAAAAAAAQAAAAFAAAAA==</UMLPattern.PreviewImage>
          </UMLPattern>
        </XMI.extensions>
      </XMI>
    </UMLPattern>
    <UMLPattern>
      <XMI xmi.version="1.1" xmlns:UML="omg.org/UML1.3" timestamp="2005-02-11 15:27:51">
        <XMI.header>
          <XMI.documentation>
            <XMI.exporter>Enterprise Architect</XMI.exporter>
            <XMI.exporterVersion>2.5</XMI.exporterVersion>
          </XMI.documentation>
        </XMI.header>
        <XMI.content>
          <UML:Model name="EA Model" xmi.id="MX_EAID_4DA7D4E4_E9C4_4962_8AC8_6CD770E404B8">
            <UML:Namespace.ownedElement>
              <UML:Class name="Singleton" xmi.id="EAID_6E43F331_B334_4bc1_BE53_F2C9B82BE63A" visibility="public" namespace="EAPK_4DA7D4E4_E9C4_4962_8AC8_6CD770E404B8" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class (a) defines an Instance operation that lets clients access its unique instance, and (b) may be responsible for creating its own unique instance."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_4DA7D4E4_E9C4_4962_8AC8_6CD770E404B8"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-06 21:47:37"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-11 15:22:23"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Singleton"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="Singleton" visibility="protected" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{96111978-F2F8-410c-8CA7-CC267ADD4D0E}"/>
                    </UML:ModelElement.taggedValue>
                  </UML:Operation>
                  <UML:Operation name="Instance" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="Singleton"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="static" value="1"/>
                      <UML:TaggedValue tag="behaviour" value="if( instance == null )&#xA;      instance = new Singleton();&#xA;&#xA;return instance;"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="1"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{77D697A8-1B5D-48e7-94F5-388BAA813472}"/>
                      <UML:TaggedValue tag="styleex" value="ShowBeh=0;"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="EAID_6E43F331_B334_4bc1_BE53_F2C9B82BE63A"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="Singleton"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="classifier" value="EAID_6E43F331_B334_4bc1_BE53_F2C9B82BE63A"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-1B5D-48e7-94F5-388BAA813472}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
              <UML:Association xmi.id="EAID_75D97C1B_D051_4f30_825B_F6E6F8410F16" visibility="public" isRoot="false" isLeaf="false" isAbstract="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="2"/>
                  <UML:TaggedValue tag="ea_type" value="Association"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="2"/>
                  <UML:TaggedValue tag="linecolor" value="-1"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="privatedata5" value="SCME=1;SX=143;SY=-26;EX=143;EY=-26;"/>
                  <UML:TaggedValue tag="virtualInheritance" value="0"/>
                </UML:ModelElement.taggedValue>
                <UML:Association.connection>
                  <UML:AssociationEnd visibility="public" aggregation="none" isOrdered="false" isNavigable="false" type="EAID_6E43F331_B334_4bc1_BE53_F2C9B82BE63A">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="containment" value="Unspecified"/>
                    </UML:ModelElement.taggedValue>
                  </UML:AssociationEnd>
                  <UML:AssociationEnd visibility="private" name="instance" aggregation="none" isOrdered="false" isNavigable="true" type="EAID_6E43F331_B334_4bc1_BE53_F2C9B82BE63A">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="containment" value="Unspecified"/>
                    </UML:ModelElement.taggedValue>
                  </UML:AssociationEnd>
                </UML:Association.connection>
              </UML:Association>
            </UML:Namespace.ownedElement>
          </UML:Model>
          <UML:Diagram name="Singleton" xmi.id="EAID_A9277E63_8FDE_4a90_A2E9_DF2DF361506D" diagramType="ClassDiagram" owner="EAPK_A9277E63_8FDE_4a90_A2E9_DF2DF361506D" toolName="Enterprise Architect 2.5">
            <UML:ModelElement.taggedValue>
              <UML:TaggedValue tag="documentation" value="This pattern ensures a class only has one instance, and provides a global point of access to it."/>
              <UML:TaggedValue tag="version" value="1.0"/>
              <UML:TaggedValue tag="created_date" value="2004-12-14 13:31:45"/>
              <UML:TaggedValue tag="modified_date" value="2005-02-11 15:22:23"/>
              <UML:TaggedValue tag="package" value="EAPK_4DA7D4E4_E9C4_4962_8AC8_6CD770E404B8"/>
              <UML:TaggedValue tag="type" value="Logical"/>
              <UML:TaggedValue tag="swimlanes" value="locked=false;orientation=0;width=0;inbar=false;names=false;color=0;bold=false;fcol=0;;cls=0;"/>
              <UML:TaggedValue tag="EAStyle" value="ShowPrivate=1;ShowProtected=1;ShowPublic=1;HideRelationships=0;Locked=0;Border=1;HighlightForeign=1;PackageContents=1;SequenceNotes=0;ScalePrintImage=0;PPgs.cx=0;PPgs.cy=0;DocSize.cx=780;DocSize.cy=1138;ShowDetails=0;Orientation=P;Zoom=100;ShowTags=0;OpParams=1;ShowIcons=1;CollabNums=0;HideProps=0;ShowReqs=0;ShowCons=0;PaperSize=9;HideParents=0;UseAlias=0;HideAtts=0;HideOps=0;HideStereo=0;HideElemStereo=0;ShowTests=0;ShowMaint=0;"/>
              <UML:TaggedValue tag="styleex" value="ExcludeRTF=0;DocAll=0;HideQuals=0;AttPkg=1;ShowTests=0;ShowMaint=0;SuppressFOC=0;TDurLow=0;TDurHigh=100;TDurUnit=;TDurHide=0;"/>
            </UML:ModelElement.taggedValue>
            <UML:Diagram.element>
              <UML:DiagramElement geometry="Left=129;Top=69;Right=256;Bottom=139;imgL=10;imgT=10;imgR=137;imgB=80;" subject="EAID_6E43F331_B334_4bc1_BE53_F2C9B82BE63A" seqno="1" style="DUID=4E353F1D;LBL=;"/>
              <UML:DiagramElement geometry="SCME=1;SX=143;SY=-16;EX=143;EY=-16;EDGE=2;$LLB=;LLT=;LMT=;LMB=;LRT=CX=52:CY=15:OX=18:OY=3:HDN=0:BLD=0:ITA=0:UND=0:CLR=-1:ALN=0:DIR=0:ROT=0;LRB=;Path=;" subject="EAID_75D97C1B_D051_4f30_825B_F6E6F8410F16" style="Mode=2;EOID=4E353F1D;SOID=4E353F1D;Hidden=0;"/>
            </UML:Diagram.element>
          </UML:Diagram>
        </XMI.content>
        <XMI.difference/>
        <XMI.extensions xmi.extender="Enterprise Architect 2.5">
          <EAStub xmi.id="EAID_6E43F331_B334_4bc1_BE53_F2C9B82BE63A" name="Singleton" UMLType="Class"/>
          <UMLPattern name="Singleton" category="GoF Creational Patterns" version="1.0" notes="This pattern ensures a class only has one instance, and provides a global point of access to it.">
            <UMLPattern.PromptList>
              <Element name="Singleton:Class" guid="EAID_6E43F331_B334_4bc1_BE53_F2C9B82BE63A" id="781" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class (a) defines an Instance operation that lets clients access its unique instance, and (b) may be responsible for creating its own unique instance.">
                  <![CDATA[This class (a) defines an Instance operation that lets clients access its unique instance, and (b) may be responsible for creating its own unique instance.]]>
                </Comment>
              </Element>
            </UMLPattern.PromptList>
            <UMLPattern.PreviewImage xmlns:dt="urn:schemas-microsoft-com:datatypes" dt:dt="bin.base64" cx="5765" cy="2548">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</UMLPattern.PreviewImage>
          </UMLPattern>
        </XMI.extensions>
      </XMI>
    </UMLPattern>
    <UMLPattern>
      <XMI xmi.version="1.1" xmlns:UML="omg.org/UML1.3" timestamp="2005-02-11 15:43:10">
        <XMI.header>
          <XMI.documentation>
            <XMI.exporter>Enterprise Architect</XMI.exporter>
            <XMI.exporterVersion>2.5</XMI.exporterVersion>
          </XMI.documentation>
        </XMI.header>
        <XMI.content>
          <UML:Model name="EA Model" xmi.id="MX_EAID_965A88F0_A424_4b70_A16D_BD7A1A2F3834">
            <UML:Namespace.ownedElement>
              <UML:Class name="Context" xmi.id="EAID_04048C3D_0F33_4785_8510_649EBA95C73A" visibility="public" namespace="EAPK_965A88F0_A424_4b70_A16D_BD7A1A2F3834" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class defines the interface of interest to clients and maintains an instance of a ConcreteState subclass that defines the current state."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_965A88F0_A424_4b70_A16D_BD7A1A2F3834"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-07 11:38:28"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-09 14:24:57"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="State"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="Context" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="behaviour" value="this.state = state;"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="1"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{67D085DC-CA5B-48ff-BD8F-A2FEC14DDCAF}"/>
                      <UML:TaggedValue tag="styleex" value="ShowBeh=0;"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-CA5B-48ff-BD8F-A2FEC14DDCAF}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                      <UML:Parameter name="state" kind="in" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="EAID_CD91AFBB_C974_4df7_8EA5_B3B0B460BD44"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="State"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="classifier" value="EAID_CD91AFBB_C974_4df7_8EA5_B3B0B460BD44"/>
                          <UML:TaggedValue tag="ea_guid" value="{59F97F7F-3FEB-4507-BFF9-92515A177099}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                  <UML:Operation name="Request" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="behaviour" value="state.Handle(this);"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="2"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{D5742CF8-B064-4af9-8814-A351B381E85C}"/>
                      <UML:TaggedValue tag="styleex" value="ShowBeh=0;"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid1"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-B064-4af9-8814-A351B381E85C}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
              <UML:Association xmi.id="EAID_AD274EA3_D8AB_4b7f_B7CB_5F4641BE68B6" visibility="public" isRoot="false" isLeaf="false" isAbstract="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="1"/>
                  <UML:TaggedValue tag="ea_type" value="Association"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="1"/>
                  <UML:TaggedValue tag="linecolor" value="0"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="virtualInheritance" value="0"/>
                  <UML:TaggedValue tag="rt" value="-state"/>
                </UML:ModelElement.taggedValue>
                <UML:Association.connection>
                  <UML:AssociationEnd visibility="private" aggregation="shared" isOrdered="false" isNavigable="false" type="EAID_04048C3D_0F33_4785_8510_649EBA95C73A">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="containment" value="Unspecified"/>
                    </UML:ModelElement.taggedValue>
                  </UML:AssociationEnd>
                  <UML:AssociationEnd visibility="private" name="state" aggregation="none" isOrdered="false" isNavigable="true" type="EAID_CD91AFBB_C974_4df7_8EA5_B3B0B460BD44">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="containment" value="Unspecified"/>
                    </UML:ModelElement.taggedValue>
                  </UML:AssociationEnd>
                </UML:Association.connection>
              </UML:Association>
              <UML:Class name="State" xmi.id="EAID_CD91AFBB_C974_4df7_8EA5_B3B0B460BD44" visibility="public" namespace="EAPK_965A88F0_A424_4b70_A16D_BD7A1A2F3834" isRoot="false" isLeaf="false" isAbstract="true" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class defines an interface for encapsulating the behaviour associated with a particular state of the Context."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_965A88F0_A424_4b70_A16D_BD7A1A2F3834"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-07 11:38:53"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-09 14:26:02"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="State"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="Handle" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="isAbstract" value="1"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{22800F30-B479-41b6-B8EB-53817CC67CD0}"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid1"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-B479-41b6-B8EB-53817CC67CD0}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                      <UML:Parameter name="context" kind="in" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="EAID_04048C3D_0F33_4785_8510_649EBA95C73A"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="Context"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="classifier" value="EAID_04048C3D_0F33_4785_8510_649EBA95C73A"/>
                          <UML:TaggedValue tag="ea_guid" value="{AF60F30F-77FB-4195-86B2-85A341222531}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
              <UML:Generalization subtype="EAID_1AF14CA4_4B6D_4815_8A41_7F84A5EE7E69" supertype="EAID_CD91AFBB_C974_4df7_8EA5_B3B0B460BD44" xmi.id="EAID_04AD3546_61F3_49ab_BCE5_BAA2FC0A4D7C" visibility="public">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="3"/>
                  <UML:TaggedValue tag="ea_type" value="Generalization"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="3"/>
                  <UML:TaggedValue tag="linecolor" value="0"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="subtype" value="Tree"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="src_visibility" value="Public"/>
                  <UML:TaggedValue tag="src_aggregation" value="0"/>
                  <UML:TaggedValue tag="src_isOrdered" value="false"/>
                  <UML:TaggedValue tag="src_isNavigable" value="false"/>
                  <UML:TaggedValue tag="dst_visibility" value="Public"/>
                  <UML:TaggedValue tag="dst_aggregation" value="0"/>
                  <UML:TaggedValue tag="dst_isOrdered" value="false"/>
                  <UML:TaggedValue tag="dst_isNavigable" value="false"/>
                  <UML:TaggedValue tag="$ea_xref_property" value="$XREFPROP=$XID={3F08466A-4224-4f30-82A4-4CFA3757F985}$XID;$NAM=CustomProperties$NAM;$TYP=connector property$TYP;$VIS=Public$VIS;$DES=@PROP=@NAME=isSubstitutable@ENDNAME;@TYPE=boolean@ENDTYPE;@VALU=@ENDVALU;@PRMT=@ENDPRMT;@ENDPROP;$DES;$CLT={04AD3546-61F3-49ab-BCE5-BAA2FC0A4D7C}$CLT;$SUP=&lt;none&gt;$SUP;$ENDXREF;"/>
                  <UML:TaggedValue tag="privatedata5" value="SX=0;SY=0;EDGE=1;"/>
                </UML:ModelElement.taggedValue>
              </UML:Generalization>
              <UML:Generalization subtype="EAID_CEA44806_E188_4508_845A_1BF8A67F2051" supertype="EAID_CD91AFBB_C974_4df7_8EA5_B3B0B460BD44" xmi.id="EAID_6C4BC871_C2E5_4402_86F9_BCEFE3092009" visibility="public">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="3"/>
                  <UML:TaggedValue tag="ea_type" value="Generalization"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="3"/>
                  <UML:TaggedValue tag="linecolor" value="0"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="subtype" value="Tree"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="src_visibility" value="Public"/>
                  <UML:TaggedValue tag="src_aggregation" value="0"/>
                  <UML:TaggedValue tag="src_isOrdered" value="false"/>
                  <UML:TaggedValue tag="src_isNavigable" value="false"/>
                  <UML:TaggedValue tag="dst_visibility" value="Public"/>
                  <UML:TaggedValue tag="dst_aggregation" value="0"/>
                  <UML:TaggedValue tag="dst_isOrdered" value="false"/>
                  <UML:TaggedValue tag="dst_isNavigable" value="false"/>
                  <UML:TaggedValue tag="$ea_xref_property" value="$XREFPROP=$XID={DAF644BA-33BA-4b59-8203-BB473518DCD5}$XID;$NAM=CustomProperties$NAM;$TYP=connector property$TYP;$VIS=Public$VIS;$DES=@PROP=@NAME=isSubstitutable@ENDNAME;@TYPE=boolean@ENDTYPE;@VALU=@ENDVALU;@PRMT=@ENDPRMT;@ENDPROP;$DES;$CLT={6C4BC871-C2E5-4402-86F9-BCEFE3092009}$CLT;$SUP=&lt;none&gt;$SUP;$ENDXREF;"/>
                  <UML:TaggedValue tag="privatedata5" value="SX=0;SY=0;EDGE=1;"/>
                </UML:ModelElement.taggedValue>
              </UML:Generalization>
              <UML:Class name="ConcreteStateA" xmi.id="EAID_1AF14CA4_4B6D_4815_8A41_7F84A5EE7E69" visibility="public" namespace="EAPK_965A88F0_A424_4b70_A16D_BD7A1A2F3834" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This subclass implements a behaviour associated with a state of the Context."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_965A88F0_A424_4b70_A16D_BD7A1A2F3834"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-07 11:40:08"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-09 14:26:02"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="State"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="Handle" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="behaviour" value="// transition to next state&#xA;context.state = new ConcreteStateB();"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{F0CE66A1-2937-498f-9079-C921B7071F88}"/>
                      <UML:TaggedValue tag="styleex" value="ShowBeh=0;"/>
                      <UML:TaggedValue tag="override" value="true" xmi.id="EAID_9EDD4DB8_F9EC_46b8_BB10_58E8D03A2678"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid1"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-2937-498f-9079-C921B7071F88}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                      <UML:Parameter name="context" kind="in" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="EAID_04048C3D_0F33_4785_8510_649EBA95C73A"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="Context"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="classifier" value="EAID_04048C3D_0F33_4785_8510_649EBA95C73A"/>
                          <UML:TaggedValue tag="ea_guid" value="{1F018E37-3FD2-46e0-A99E-8AC9C8495734}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
              <UML:Class name="ConcreteStateB" xmi.id="EAID_CEA44806_E188_4508_845A_1BF8A67F2051" visibility="public" namespace="EAPK_965A88F0_A424_4b70_A16D_BD7A1A2F3834" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This subclass implements a behaviour associated with a state of the Context."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_965A88F0_A424_4b70_A16D_BD7A1A2F3834"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-07 11:40:43"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-09 14:26:02"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="State"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="Handle" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="behaviour" value="// transition to next state&#xA;context.state = new ConcreteStateA();"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{B3F4386F-E503-44d6-AC61-83D31F01914D}"/>
                      <UML:TaggedValue tag="styleex" value="ShowBeh=0;"/>
                      <UML:TaggedValue tag="override" value="true" xmi.id="EAID_87E794AB_32F6_48e6_9082_B3EB86591FD6"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid1"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-E503-44d6-AC61-83D31F01914D}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                      <UML:Parameter name="context" kind="in" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="EAID_04048C3D_0F33_4785_8510_649EBA95C73A"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="Context"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="classifier" value="EAID_04048C3D_0F33_4785_8510_649EBA95C73A"/>
                          <UML:TaggedValue tag="ea_guid" value="{62574270-6DD8-406c-8778-960877C7D80A}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
            </UML:Namespace.ownedElement>
          </UML:Model>
          <UML:Diagram name="State" xmi.id="EAID_6E1E86EA_EDC8_4a29_9000_A4FF23BCC261" diagramType="ClassDiagram" owner="EAPK_6E1E86EA_EDC8_4a29_9000_A4FF23BCC261" toolName="Enterprise Architect 2.5">
            <UML:ModelElement.taggedValue>
              <UML:TaggedValue tag="documentation" value="This pattern allows an object to change its behaviour when its internal state changes. The object will appear to change its class."/>
              <UML:TaggedValue tag="version" value="1.0"/>
              <UML:TaggedValue tag="created_date" value="2004-12-14 13:32:27"/>
              <UML:TaggedValue tag="modified_date" value="2005-02-09 14:24:57"/>
              <UML:TaggedValue tag="package" value="EAPK_965A88F0_A424_4b70_A16D_BD7A1A2F3834"/>
              <UML:TaggedValue tag="type" value="Logical"/>
              <UML:TaggedValue tag="swimlanes" value="locked=false;orientation=0;width=0;inbar=false;names=false;color=0;bold=false;fcol=0;;cls=0;"/>
              <UML:TaggedValue tag="EAStyle" value="ShowPrivate=1;ShowProtected=1;ShowPublic=1;HideRelationships=0;Locked=0;Border=1;HighlightForeign=1;PackageContents=1;SequenceNotes=0;ScalePrintImage=0;PPgs.cx=0;PPgs.cy=0;DocSize.cx=780;DocSize.cy=1138;ShowDetails=0;Orientation=P;Zoom=100;ShowTags=0;OpParams=1;ShowIcons=1;CollabNums=0;HideProps=0;ShowReqs=0;ShowCons=0;PaperSize=9;HideParents=0;UseAlias=0;HideAtts=0;HideOps=0;HideStereo=0;HideElemStereo=0;ShowTests=0;ShowMaint=0;"/>
              <UML:TaggedValue tag="styleex" value="ExcludeRTF=0;DocAll=0;HideQuals=0;AttPkg=1;ShowTests=0;ShowMaint=0;SuppressFOC=0;TDurLow=0;TDurHigh=100;TDurUnit=;TDurHide=0;"/>
            </UML:ModelElement.taggedValue>
            <UML:Diagram.element>
              <UML:DiagramElement geometry="Left=320;Top=224;Right=452;Bottom=294;imgL=300;imgT=188;imgR=432;imgB=258;" subject="EAID_CEA44806_E188_4508_845A_1BF8A67F2051" seqno="1" style="DUID=3689690E;LBL=;"/>
              <UML:DiagramElement geometry="Left=151;Top=224;Right=283;Bottom=294;imgL=131;imgT=188;imgR=263;imgB=258;" subject="EAID_1AF14CA4_4B6D_4815_8A41_7F84A5EE7E69" seqno="2" style="DUID=F46EE00B;LBL=;"/>
              <UML:DiagramElement geometry="Left=231;Top=54;Right=374;Bottom=124;imgL=211;imgT=18;imgR=354;imgB=88;" subject="EAID_CD91AFBB_C974_4df7_8EA5_B3B0B460BD44" seqno="3" style="DUID=0985AF74;LBL=;"/>
              <UML:DiagramElement geometry="Left=30;Top=46;Right=130;Bottom=134;imgL=10;imgT=10;imgR=110;imgB=98;" subject="EAID_04048C3D_0F33_4785_8510_649EBA95C73A" seqno="4" style="DUID=F2A30D0C;LBL=;"/>
              <UML:DiagramElement geometry="EDGE=2;$LLB=;LLT=;LMT=;LMB=;LRT=CX=35:CY=15:OX=0:OY=0:HDN=0:BLD=0:ITA=0:UND=0:CLR=-1:ALN=0:DIR=0:ROT=0;LRB=;Path=;" subject="EAID_AD274EA3_D8AB_4b7f_B7CB_5F4641BE68B6" style="Mode=1;EOID=0985AF74;SOID=F2A30D0C;Hidden=0;"/>
              <UML:DiagramElement geometry="SX=0;SY=0;EDGE=1;$LLB=;LLT=;LMT=;LMB=;LRT=;LRB=;Path=386:-174$302:-174$;" subject="EAID_6C4BC871_C2E5_4402_86F9_BCEFE3092009" style="Mode=3;EOID=0985AF74;SOID=3689690E;Hidden=0;"/>
              <UML:DiagramElement geometry="SX=0;SY=0;EDGE=1;$LLB=;LLT=;LMT=;LMB=;LRT=;LRB=;Path=217:-174$302:-174$;" subject="EAID_04AD3546_61F3_49ab_BCE5_BAA2FC0A4D7C" style="Mode=3;EOID=0985AF74;SOID=F46EE00B;Hidden=0;"/>
            </UML:Diagram.element>
          </UML:Diagram>
        </XMI.content>
        <XMI.difference/>
        <XMI.extensions xmi.extender="Enterprise Architect 2.5">
          <EAStub xmi.id="EAID_04048C3D_0F33_4785_8510_649EBA95C73A" name="Context" UMLType="Class"/>
          <EAStub xmi.id="EAID_CD91AFBB_C974_4df7_8EA5_B3B0B460BD44" name="State" UMLType="Class"/>
          <EAStub xmi.id="EAID_1AF14CA4_4B6D_4815_8A41_7F84A5EE7E69" name="ConcreteStateA" UMLType="Class"/>
          <EAStub xmi.id="EAID_CEA44806_E188_4508_845A_1BF8A67F2051" name="ConcreteStateB" UMLType="Class"/>
          <UMLPattern name="State" category="GoF Behavioral Patterns" version="1.0" notes="This pattern allows an object to change its behaviour when its internal state changes. The object will appear to change its class.">
            <UMLPattern.PromptList>
              <Element name="ConcreteStateB:Class" guid="EAID_CEA44806_E188_4508_845A_1BF8A67F2051" id="618" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This subclass implements a behaviour associated with a state of the Context.">
                  <![CDATA[This subclass implements a behaviour associated with a state of the Context.]]>
                </Comment>
              </Element>
              <Element name="ConcreteStateA:Class" guid="EAID_1AF14CA4_4B6D_4815_8A41_7F84A5EE7E69" id="617" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This subclass implements a behaviour associated with a state of the Context.">
                  <![CDATA[This subclass implements a behaviour associated with a state of the Context.]]>
                </Comment>
              </Element>
              <Element name="State:Class" guid="EAID_CD91AFBB_C974_4df7_8EA5_B3B0B460BD44" id="616" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class defines an interface for encapsulating the behaviour associated with a particular state of the Context.">
                  <![CDATA[This class defines an interface for encapsulating the behaviour associated with a particular state of the Context.]]>
                </Comment>
              </Element>
              <Element name="Context:Class" guid="EAID_04048C3D_0F33_4785_8510_649EBA95C73A" id="615" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class defines the interface of interest to clients and maintains an instance of a ConcreteState subclass that defines the current state.">
                  <![CDATA[This class defines the interface of interest to clients and maintains an instance of a ConcreteState subclass that defines the current state.]]>
                </Comment>
              </Element>
            </UMLPattern.PromptList>
            <UMLPattern.PreviewImage xmlns:dt="urn:schemas-microsoft-com:datatypes" dt:dt="bin.base64" cx="12431" cy="7589">AQAAAGwAAAAKAAAACgAAALIBAAAEAQAAAAAAAAAAAACPMAAApR0AACBFTUYAAAEADBkAALQA AAAJAAAAAAAAAAAAAAAAAAAAAAUAAAAEAABoAQAAIgEAAAAAAAAAAAAAAAAAAEB+BQDQbAQA EQAAAAwAAAAIAAAACQAAABAAAAABAAAA/////woAAAAQAAAAFAAAANz///9SAAAAcAEAAAEA AAD2////AAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAQQBSAEkAQQBMAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkXwAAEAAHOcSAAAA AAAAAAAAhOcSAKznEgC3LJF88C8iAJju7gCM5xIAAAAAAI6ggHwAAEAAmO7uAIznEgCloIB8 +OcSANKPAAAAAAAAEAAAAAUAAAD85xIA/wAAAMDnEgClAtV3POgSAP8AAADY5xIAbHMOAQoA AAD1Gd1zAADqc0AAAAAFAAAAUOkSAAAAAABo5epzvOcSAFjpEgAX7+Zz/////7joEgCeJt1z BQAAAFDpEgBQ6RIABQAAAAAAEgA/Qt1zaC0hDjzoEgAFAAAAPOgSAFDpEgAXQt1zBQAAADzo EgAFAAAAAAEAAA5K3XM86BIAAAAAAFxK3XNkdgAIAAAAACUAAAAMAAAAAQAAACcAAAAYAAAA AgAAAAAAAAD88uMAAAAAACUAAAAMAAAAAgAAACYAAAAcAAAAAwAAAAAAAAABAAAAAAAAAAAA AAAlAAAADAAAAAMAAAASAAAADAAAAAEAAAAhAAAACAAAABgAAAAMAAAAAAAAACYAAAAcAAAA BAAAAAAAAAABAAAAAAAAAAAAAAAlAAAADAAAAAQAAAASAAAADAAAAAIAAAAZAAAADAAAAP// /wASAAAADAAAAAEAAAAZAAAADAAAAP///wASAAAADAAAAAIAAAAZAAAADAAAAP///wASAAAA DAAAAAEAAAAZAAAADAAAAP///wASAAAADAAAAAIAAAAZAAAADAAAAP///wASAAAADAAAAAEA AAAZAAAADAAAAP///wAlAAAADAAAAAMAAAAiAAAADAAAAP////8oAAAADAAAAAQAAAAnAAAA GAAAAAQAAAAAAAAAwL/AAAAAAAAlAAAADAAAAAQAAAAmAAAAHAAAAAUAAAAAAAAAAQAAAAAA AADAv8AAJQAAAAwAAAAFAAAAOQAAAAwAAAACAAAAKwAAABgAAAAhAAAAz////4QAAAB4//// JQAAAAwAAAACAAAAKAAAAAwAAAAEAAAAJQAAAAwAAAADAAAAKAAAAAwAAAAFAAAAKwAAABgA AAAeAAAA0v///4EAAAB7////UgAAAHABAAAFAAAA9v///wAAAAAAAAAAAAAAALwCAAAAAAAB AAAAAEEAUgBJAEEATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAACE5xIArOcSALcskXzwLyIAmO7uAIznEgAAAAAA jqCAfAAAQACY7u4AjOcSAKWggHz45xIA0o8AAAAAAAAQAAAABQAAAPznEgD/AAAAwOcSAKUC 1Xc86BIA/wAAANjnEgBscw4BCgAAAPUZ3XMAAOpzQAAAAAAAAABQ6RIAAAAAAGjl6nO85xIA WOkSABfv5nP/////uOgSAJ4m3XMFAAAAUOkSAFDpEgAFAAAAAAASAD9C3XMAAMJ3CAAAAP// //886BIAEAAAAC6lw3egGsZ3mOkSAEPDwncEAAAAzsPCdwfEwnf43x4O/////2R2AAgQwGgB ZHYACAAAAAAlAAAADAAAAAUAAABUAAAAeAAAACkAAAATAAAATgAAAB4AAAABAAAAAADhQQCQ 4sE9AAAAyf///wcAAABMAAAAAAAAAAAAAAAAAAAA//////////9cAAAAQwBvAG4AdABlAHgA dAAAAAcAAAAGAAAABgAAAAMAAAAGAAAABgAAAAMAAAAlAAAADAAAAAEAAAAbAAAAEAAAAB4A AAC3////NgAAABAAAACBAAAAt////xgAAAAMAAAAAACAABgAAAAMAAAAAAAAABgAAAAMAAAA AEBAAFQAAABYAAAADwAAAC0AAAAYAAAAOQAAAAEAAAAAAOFBAJDiwSMAAACv////AgAAAEwA AAAAAAAAAAAAAAAAAAD//////////1AAAAArACAABgAAAAMAAABUAAAAoAAAACAAAAAtAAAA YwAAADkAAAABAAAAAADhQQCQ4sE0AAAAr////w4AAABMAAAAAAAAAAAAAAAAAAAA//////// //9oAAAAQwBvAG4AdABlAHgAdAAoAFMAdABhAHQAZQApAAcAAAAGAAAABgAAAAMAAAAGAAAA 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</UMLPattern.PreviewImage>
          </UMLPattern>
        </XMI.extensions>
      </XMI>
    </UMLPattern>
    <UMLPattern>
      <XMI xmi.version="1.1" xmlns:UML="omg.org/UML1.3" timestamp="2005-02-11 15:43:25">
        <XMI.header>
          <XMI.documentation>
            <XMI.exporter>Enterprise Architect</XMI.exporter>
            <XMI.exporterVersion>2.5</XMI.exporterVersion>
          </XMI.documentation>
        </XMI.header>
        <XMI.content>
          <UML:Model name="EA Model" xmi.id="MX_EAID_9BB8ACE0_58FC_4979_9A05_F9A21F92C425">
            <UML:Namespace.ownedElement>
              <UML:Class name="Context" xmi.id="EAID_7018F394_7F69_454b_A136_7DA4DD85CF8E" visibility="public" namespace="EAPK_9BB8ACE0_58FC_4979_9A05_F9A21F92C425" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class is configured with a ConcreteStrategy object, maintains a reference to a Strategy object and may define an interface that lets Strategy access its data."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_9BB8ACE0_58FC_4979_9A05_F9A21F92C425"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-07 11:42:38"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-09 11:55:48"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Strategy"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="ContextInterface" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="behaviour" value="strategy.AlgorithmInterface();"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{B7C94C41-E0F4-464d-965D-048B8CCE268E}"/>
                      <UML:TaggedValue tag="styleex" value="ShowBeh=0;"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-E0F4-464d-965D-048B8CCE268E}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                  <UML:Operation name="Context" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="behaviour" value="this.strategy = strategy;"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="1"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{B2DBA718-7D70-4b6b-8C9F-5A1393999139}"/>
                      <UML:TaggedValue tag="styleex" value="ShowBeh=0;"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid1"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-7D70-4b6b-8C9F-5A1393999139}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                      <UML:Parameter name="strategy" kind="in" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="EAID_A750A8EE_5D2B_4b6e_B0E9_DB084229FB8A"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="Strategy"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="classifier" value="EAID_A750A8EE_5D2B_4b6e_B0E9_DB084229FB8A"/>
                          <UML:TaggedValue tag="ea_guid" value="{3EA1040B-F7C0-4949-ADE9-A15BD47B066D}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
              <UML:Association xmi.id="EAID_9FDB5ED7_95D2_449b_B667_D460993BBF1C" visibility="public" isRoot="false" isLeaf="false" isAbstract="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="1"/>
                  <UML:TaggedValue tag="ea_type" value="Association"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="1"/>
                  <UML:TaggedValue tag="linecolor" value="0"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="privatedata5" value="SX=0;SY=0;EX=0;EY=0;"/>
                  <UML:TaggedValue tag="virtualInheritance" value="0"/>
                  <UML:TaggedValue tag="rt" value="-strategy"/>
                </UML:ModelElement.taggedValue>
                <UML:Association.connection>
                  <UML:AssociationEnd visibility="public" aggregation="shared" isOrdered="false" isNavigable="false" type="EAID_7018F394_7F69_454b_A136_7DA4DD85CF8E">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="containment" value="Unspecified"/>
                    </UML:ModelElement.taggedValue>
                  </UML:AssociationEnd>
                  <UML:AssociationEnd visibility="private" name="strategy" aggregation="none" isOrdered="false" isNavigable="true" type="EAID_A750A8EE_5D2B_4b6e_B0E9_DB084229FB8A">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="containment" value="Unspecified"/>
                    </UML:ModelElement.taggedValue>
                  </UML:AssociationEnd>
                </UML:Association.connection>
              </UML:Association>
              <UML:Class name="Strategy" xmi.id="EAID_A750A8EE_5D2B_4b6e_B0E9_DB084229FB8A" visibility="public" namespace="EAPK_9BB8ACE0_58FC_4979_9A05_F9A21F92C425" isRoot="false" isLeaf="false" isAbstract="true" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class declares an interface common to all supported algorithms. Context uses this interface to call the algorithm defined by a ConcreteStrategy."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_9BB8ACE0_58FC_4979_9A05_F9A21F92C425"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-07 11:43:04"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-09 11:55:48"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Strategy"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="AlgorithmInterface" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="isAbstract" value="1"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{76111A21-2A7B-49d4-B6DF-A4EA8D7115D7}"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-2A7B-49d4-B6DF-A4EA8D7115D7}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
              <UML:Generalization subtype="EAID_80368526_2ECB_4e92_99B8_261D6C6DD67E" supertype="EAID_A750A8EE_5D2B_4b6e_B0E9_DB084229FB8A" xmi.id="EAID_883BAD62_BA55_4aeb_933F_1B21EC81B962" visibility="public">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="3"/>
                  <UML:TaggedValue tag="ea_type" value="Generalization"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="3"/>
                  <UML:TaggedValue tag="linecolor" value="0"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="subtype" value="Tree"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="src_visibility" value="Public"/>
                  <UML:TaggedValue tag="src_aggregation" value="0"/>
                  <UML:TaggedValue tag="src_isOrdered" value="false"/>
                  <UML:TaggedValue tag="src_isNavigable" value="false"/>
                  <UML:TaggedValue tag="dst_visibility" value="Public"/>
                  <UML:TaggedValue tag="dst_aggregation" value="0"/>
                  <UML:TaggedValue tag="dst_isOrdered" value="false"/>
                  <UML:TaggedValue tag="dst_isNavigable" value="false"/>
                  <UML:TaggedValue tag="$ea_xref_property" value="$XREFPROP=$XID={0605F1D2-ACC0-49ca-AE32-7D9C99D47FAD}$XID;$NAM=CustomProperties$NAM;$TYP=connector property$TYP;$VIS=Public$VIS;$DES=@PROP=@NAME=isSubstitutable@ENDNAME;@TYPE=boolean@ENDTYPE;@VALU=@ENDVALU;@PRMT=@ENDPRMT;@ENDPROP;$DES;$CLT={883BAD62-BA55-4aeb-933F-1B21EC81B962}$CLT;$SUP=&lt;none&gt;$SUP;$ENDXREF;"/>
                  <UML:TaggedValue tag="privatedata5" value="SX=0;SY=0;EDGE=1;"/>
                </UML:ModelElement.taggedValue>
              </UML:Generalization>
              <UML:Generalization subtype="EAID_3B878816_798A_42e9_9471_8B1E461DB081" supertype="EAID_A750A8EE_5D2B_4b6e_B0E9_DB084229FB8A" xmi.id="EAID_936AC348_8D37_460c_B981_875F81728095" visibility="public">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="3"/>
                  <UML:TaggedValue tag="ea_type" value="Generalization"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="3"/>
                  <UML:TaggedValue tag="linecolor" value="0"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="subtype" value="Tree"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="src_visibility" value="Public"/>
                  <UML:TaggedValue tag="src_aggregation" value="0"/>
                  <UML:TaggedValue tag="src_isOrdered" value="false"/>
                  <UML:TaggedValue tag="src_isNavigable" value="false"/>
                  <UML:TaggedValue tag="dst_visibility" value="Public"/>
                  <UML:TaggedValue tag="dst_aggregation" value="0"/>
                  <UML:TaggedValue tag="dst_isOrdered" value="false"/>
                  <UML:TaggedValue tag="dst_isNavigable" value="false"/>
                  <UML:TaggedValue tag="$ea_xref_property" value="$XREFPROP=$XID={53FDDE22-6AF6-430b-BB57-D19BA7CC7568}$XID;$NAM=CustomProperties$NAM;$TYP=connector property$TYP;$VIS=Public$VIS;$DES=@PROP=@NAME=isSubstitutable@ENDNAME;@TYPE=boolean@ENDTYPE;@VALU=@ENDVALU;@PRMT=@ENDPRMT;@ENDPROP;$DES;$CLT={936AC348-8D37-460c-B981-875F81728095}$CLT;$SUP=&lt;none&gt;$SUP;$ENDXREF;"/>
                  <UML:TaggedValue tag="privatedata5" value="SX=0;SY=0;EDGE=1;"/>
                </UML:ModelElement.taggedValue>
              </UML:Generalization>
              <UML:Generalization subtype="EAID_4C9CF86D_59D3_4581_9382_644447B20F55" supertype="EAID_A750A8EE_5D2B_4b6e_B0E9_DB084229FB8A" xmi.id="EAID_C05A670B_62F7_43d0_9C99_51107E425A5F" visibility="public">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="1"/>
                  <UML:TaggedValue tag="ea_type" value="Generalization"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="1"/>
                  <UML:TaggedValue tag="linecolor" value="0"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="subtype" value="Tree"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="src_visibility" value="Public"/>
                  <UML:TaggedValue tag="src_aggregation" value="0"/>
                  <UML:TaggedValue tag="src_isOrdered" value="false"/>
                  <UML:TaggedValue tag="src_isNavigable" value="false"/>
                  <UML:TaggedValue tag="dst_visibility" value="Public"/>
                  <UML:TaggedValue tag="dst_aggregation" value="0"/>
                  <UML:TaggedValue tag="dst_isOrdered" value="false"/>
                  <UML:TaggedValue tag="dst_isNavigable" value="false"/>
                  <UML:TaggedValue tag="$ea_xref_property" value="$XREFPROP=$XID={A108848A-2490-4274-81C3-A1D8591AB565}$XID;$NAM=CustomProperties$NAM;$TYP=connector property$TYP;$VIS=Public$VIS;$DES=@PROP=@NAME=isSubstitutable@ENDNAME;@TYPE=boolean@ENDTYPE;@VALU=@ENDVALU;@PRMT=@ENDPRMT;@ENDPROP;$DES;$CLT={C05A670B-62F7-43d0-9C99-51107E425A5F}$CLT;$SUP=&lt;none&gt;$SUP;$ENDXREF;"/>
                  <UML:TaggedValue tag="privatedata5" value="SX=0;SY=0;EDGE=1;"/>
                </UML:ModelElement.taggedValue>
              </UML:Generalization>
              <UML:Class name="ConcreteStrategyA" xmi.id="EAID_80368526_2ECB_4e92_99B8_261D6C6DD67E" visibility="public" namespace="EAPK_9BB8ACE0_58FC_4979_9A05_F9A21F92C425" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class implements the algorithm using the Strategy interface."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_9BB8ACE0_58FC_4979_9A05_F9A21F92C425"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-07 11:44:02"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-09 11:55:48"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Strategy"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="AlgorithmInterface" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{89533BEB-788D-48ea-A231-BEEBB7B3DCB7}"/>
                      <UML:TaggedValue tag="override" value="true" xmi.id="EAID_E3A7AFFD_13A8_40a8_AEAF_A893EE8B0F67"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-788D-48ea-A231-BEEBB7B3DCB7}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
              <UML:Class name="ConcreteStrategyB" xmi.id="EAID_4C9CF86D_59D3_4581_9382_644447B20F55" visibility="public" namespace="EAPK_9BB8ACE0_58FC_4979_9A05_F9A21F92C425" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class implements the algorithm using the Strategy interface."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_9BB8ACE0_58FC_4979_9A05_F9A21F92C425"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-07 11:44:24"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-09 11:55:48"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Strategy"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="AlgorithmInterface" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{B209D2D0-76EF-4cbd-9312-C0E8EFD18CFD}"/>
                      <UML:TaggedValue tag="override" value="true" xmi.id="EAID_DF2E6832_C567_41ea_AE77_60FB634764DA"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-76EF-4cbd-9312-C0E8EFD18CFD}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
              <UML:Class name="ConcreteStrategyC" xmi.id="EAID_3B878816_798A_42e9_9471_8B1E461DB081" visibility="public" namespace="EAPK_9BB8ACE0_58FC_4979_9A05_F9A21F92C425" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class implements the algorithm using the Strategy interface."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_9BB8ACE0_58FC_4979_9A05_F9A21F92C425"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-07 11:44:41"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-09 11:55:48"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Strategy"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="AlgorithmInterface" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{498955C2-9EEC-445e-9070-B994B7EFC450}"/>
                      <UML:TaggedValue tag="override" value="true" xmi.id="EAID_1B15D9F7_91D6_4ad6_8669_6CAA79118109"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-9EEC-445e-9070-B994B7EFC450}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
            </UML:Namespace.ownedElement>
          </UML:Model>
          <UML:Diagram name="Strategy" xmi.id="EAID_4A157E1F_938A_4016_BC79_759626719200" diagramType="ClassDiagram" owner="EAPK_4A157E1F_938A_4016_BC79_759626719200" toolName="Enterprise Architect 2.5">
            <UML:ModelElement.taggedValue>
              <UML:TaggedValue tag="documentation" value="This pattern defines a family of algorithms, encapsulates each one and makes them interchangeable. It lets the algorithm vary independently from clients that use it."/>
              <UML:TaggedValue tag="version" value="1.0"/>
              <UML:TaggedValue tag="created_date" value="2004-12-14 13:32:30"/>
              <UML:TaggedValue tag="modified_date" value="2005-02-02 15:14:17"/>
              <UML:TaggedValue tag="package" value="EAPK_9BB8ACE0_58FC_4979_9A05_F9A21F92C425"/>
              <UML:TaggedValue tag="type" value="Logical"/>
              <UML:TaggedValue tag="swimlanes" value="locked=false;orientation=0;width=0;inbar=false;names=false;color=0;bold=false;fcol=0;;cls=0;"/>
              <UML:TaggedValue tag="EAStyle" value="ShowPrivate=1;ShowProtected=1;ShowPublic=1;HideRelationships=0;Locked=0;Border=1;HighlightForeign=1;PackageContents=1;SequenceNotes=0;ScalePrintImage=0;PPgs.cx=0;PPgs.cy=0;DocSize.cx=780;DocSize.cy=1138;ShowDetails=0;Orientation=P;Zoom=100;ShowTags=0;OpParams=1;ShowIcons=1;CollabNums=0;HideProps=0;ShowReqs=0;ShowCons=0;PaperSize=9;HideParents=0;UseAlias=0;HideAtts=0;HideOps=0;HideStereo=0;HideElemStereo=0;ShowTests=0;ShowMaint=0;"/>
              <UML:TaggedValue tag="styleex" value="ExcludeRTF=0;DocAll=0;HideQuals=0;AttPkg=1;ShowTests=0;ShowMaint=0;SuppressFOC=0;TDurLow=0;TDurHigh=100;TDurUnit=;TDurHide=0;"/>
            </UML:ModelElement.taggedValue>
            <UML:Diagram.element>
              <UML:DiagramElement geometry="Left=451;Top=183;Right=600;Bottom=253;imgL=434;imgT=163;imgR=583;imgB=233;" subject="EAID_3B878816_798A_42e9_9471_8B1E461DB081" seqno="1" style="DUID=21C48C8A;LBL=;"/>
              <UML:DiagramElement geometry="Left=270;Top=183;Right=418;Bottom=253;imgL=253;imgT=163;imgR=401;imgB=233;" subject="EAID_4C9CF86D_59D3_4581_9382_644447B20F55" seqno="2" style="DUID=FC5FD0C4;LBL=;"/>
              <UML:DiagramElement geometry="Left=89;Top=183;Right=238;Bottom=253;imgL=72;imgT=163;imgR=221;imgB=233;" subject="EAID_80368526_2ECB_4e92_99B8_261D6C6DD67E" seqno="3" style="DUID=54B78F54;LBL=;"/>
              <UML:DiagramElement geometry="Left=271;Top=40;Right=417;Bottom=110;imgL=254;imgT=20;imgR=400;imgB=90;" subject="EAID_A750A8EE_5D2B_4b6e_B0E9_DB084229FB8A" seqno="4" style="DUID=89141A17;LBL=;"/>
              <UML:DiagramElement geometry="Left=27;Top=30;Right=166;Bottom=118;imgL=10;imgT=10;imgR=149;imgB=98;" subject="EAID_7018F394_7F69_454b_A136_7DA4DD85CF8E" seqno="5" style="DUID=A69A61B2;LBL=;"/>
              <UML:DiagramElement geometry="SX=0;SY=0;EX=0;EY=0;EDGE=2;$LLB=;LLT=;LMT=;LMB=;LRT=CX=49:CY=15:OX=0:OY=0:HDN=0:BLD=0:ITA=0:UND=0:CLR=-1:ALN=0:DIR=0:ROT=0;LRB=;Path=;" subject="EAID_9FDB5ED7_95D2_449b_B667_D460993BBF1C" style="Mode=1;EOID=89141A17;SOID=A69A61B2;Hidden=0;"/>
              <UML:DiagramElement geometry="SX=0;SY=0;EDGE=1;$LLB=;LLT=;LMT=;LMB=;LRT=;LRB=;Path=525:-160$344:-160$;" subject="EAID_936AC348_8D37_460c_B981_875F81728095" style="Mode=3;EOID=89141A17;SOID=21C48C8A;Hidden=0;"/>
              <UML:DiagramElement geometry="SX=0;SY=0;EDGE=1;$LLB=;LLT=;LMT=;LMB=;LRT=;LRB=;Path=309:-198$351:-198$;" subject="EAID_C05A670B_62F7_43d0_9C99_51107E425A5F" style="Mode=1;EOID=89141A17;SOID=FC5FD0C4;Hidden=0;"/>
              <UML:DiagramElement geometry="SX=0;SY=0;EDGE=1;$LLB=;LLT=;LMT=;LMB=;LRT=;LRB=;Path=163:-160$344:-160$;" subject="EAID_883BAD62_BA55_4aeb_933F_1B21EC81B962" style="Mode=3;EOID=89141A17;SOID=54B78F54;Hidden=0;"/>
            </UML:Diagram.element>
          </UML:Diagram>
        </XMI.content>
        <XMI.difference/>
        <XMI.extensions xmi.extender="Enterprise Architect 2.5">
          <EAStub xmi.id="EAID_7018F394_7F69_454b_A136_7DA4DD85CF8E" name="Context" UMLType="Class"/>
          <EAStub xmi.id="EAID_A750A8EE_5D2B_4b6e_B0E9_DB084229FB8A" name="Strategy" UMLType="Class"/>
          <EAStub xmi.id="EAID_80368526_2ECB_4e92_99B8_261D6C6DD67E" name="ConcreteStrategyA" UMLType="Class"/>
          <EAStub xmi.id="EAID_3B878816_798A_42e9_9471_8B1E461DB081" name="ConcreteStrategyC" UMLType="Class"/>
          <EAStub xmi.id="EAID_4C9CF86D_59D3_4581_9382_644447B20F55" name="ConcreteStrategyB" UMLType="Class"/>
          <UMLPattern name="Strategy" category="GoF Behavioral Patterns" version="1.0" notes="This pattern defines a family of algorithms, encapsulates each one and makes them interchangeable. It lets the algorithm vary independently from clients that use it.">
            <UMLPattern.PromptList>
              <Element name="ConcreteStrategyC:Class" guid="EAID_3B878816_798A_42e9_9471_8B1E461DB081" id="623" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class implements the algorithm using the Strategy interface.">
                  <![CDATA[This class implements the algorithm using the Strategy interface.]]>
                </Comment>
              </Element>
              <Element name="ConcreteStrategyB:Class" guid="EAID_4C9CF86D_59D3_4581_9382_644447B20F55" id="622" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class implements the algorithm using the Strategy interface.">
                  <![CDATA[This class implements the algorithm using the Strategy interface.]]>
                </Comment>
              </Element>
              <Element name="ConcreteStrategyA:Class" guid="EAID_80368526_2ECB_4e92_99B8_261D6C6DD67E" id="621" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class implements the algorithm using the Strategy interface.">
                  <![CDATA[This class implements the algorithm using the Strategy interface.]]>
                </Comment>
              </Element>
              <Element name="Strategy:Class" guid="EAID_A750A8EE_5D2B_4b6e_B0E9_DB084229FB8A" id="620" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class declares an interface common to all supported algorithms. Context uses this interface to call the algorithm defined by a ConcreteStrategy.">
                  <![CDATA[This class declares an interface common to all supported algorithms. Context uses this interface to call the algorithm defined by a ConcreteStrategy.]]>
                </Comment>
              </Element>
              <Element name="Context:Class" guid="EAID_7018F394_7F69_454b_A136_7DA4DD85CF8E" id="619" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class is configured with a ConcreteStrategy object, maintains a reference to a Strategy object and may define an interface that lets Strategy access its data.">
                  <![CDATA[This class is configured with a ConcreteStrategy object, maintains a reference to a Strategy object and may define an interface that lets Strategy access its data.]]>
                </Comment>
              </Element>
            </UMLPattern.PromptList>
            <UMLPattern.PreviewImage xmlns:dt="urn:schemas-microsoft-com:datatypes" dt:dt="bin.base64" cx="16678" cy="6881">AQAAAGwAAAAKAAAACgAAAEkCAADrAAAAAAAAAAAAAAAmQQAA4RoAACBFTUYAAAEADB4AANkA AAAJAAAAAAAAAAAAAAAAAAAAAAUAAAAEAABoAQAAIgEAAAAAAAAAAAAAAAAAAEB+BQDQbAQA EQAAAAwAAAAIAAAACQAAABAAAAABAAAA/////woAAAAQAAAAEQAAAOz///9SAAAAcAEAAAEA AAD2////AAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAQQBSAEkAQQBMAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkXwAAEAAHOcSAAAA AAAAAAAAhOcSAKznEgC3LJF88C8iAJju7gCM5xIAAAAAAI6ggHwAAEAAmO7uAIznEgCloIB8 +OcSANKPAAAAAAAAEAAAAAUAAAD85xIA/wAAAMDnEgClAtV3POgSAP8AAADY5xIAbHMOAQoA AAD1Gd1zAADqc0AAAAAFAAAAUOkSAAAAAABo5epzvOcSAFjpEgAX7+Zz/////7joEgCeJt1z BQAAAFDpEgBQ6RIABQAAAAAAEgA/Qt1zUPcgDjzoEgAFAAAAPOgSAFDpEgAXQt1zBQAAADzo EgAFAAAAAAEAAA5K3XM86BIAAAAAAFxK3XNkdgAIAAAAACUAAAAMAAAAAQAAACcAAAAYAAAA AgAAAAAAAAD88uMAAAAAACUAAAAMAAAAAgAAACYAAAAcAAAAAwAAAAAAAAABAAAAAAAAAAAA AAAlAAAADAAAAAMAAAASAAAADAAAAAEAAAAhAAAACAAAABgAAAAMAAAAAAAAACYAAAAcAAAA BAAAAAAAAAABAAAAAAAAAAAAAAAlAAAADAAAAAQAAAASAAAADAAAAAIAAAAZAAAADAAAAP// /wASAAAADAAAAAEAAAAZAAAADAAAAP///wASAAAADAAAAAIAAAAZAAAADAAAAP///wASAAAA DAAAAAEAAAAZAAAADAAAAP///wASAAAADAAAAAIAAAAZAAAADAAAAP///wASAAAADAAAAAEA AAAZAAAADAAAAP///wASAAAADAAAAAIAAAAZAAAADAAAAP///wASAAAADAAAAAEAAAAZAAAA DAAAAP///wAlAAAADAAAAAMAAAAiAAAADAAAAP////8oAAAADAAAAAQAAAAnAAAAGAAAAAQA AAAAAAAAwL/AAAAAAAAlAAAADAAAAAQAAAAmAAAAHAAAAAUAAAAAAAAAAQAAAAAAAADAv8AA JQAAAAwAAAAFAAAAOQAAAAwAAAACAAAAKwAAABgAAAAeAAAA3////6gAAACI////JQAAAAwA AAACAAAAKAAAAAwAAAAEAAAAJQAAAAwAAAADAAAAKAAAAAwAAAAFAAAAKwAAABgAAAAbAAAA 4v///6UAAACL////UgAAAHABAAAFAAAA9v///wAAAAAAAAAAAAAAALwCAAAAAAABAAAAAEEA UgBJAEEATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAABIAAAAAAAAAAACE5xIArOcSALcskXzwLyIAmO7uAIznEgAAAAAAjqCAfAAA QACY7u4AjOcSAKWggHz45xIA0o8AAAAAAAAQAAAABQAAAPznEgD/AAAAwOcSAKUC1Xc86BIA /wAAANjnEgBscw4BCgAAAPUZ3XMAAOpzQAAAAAAAAABQ6RIAAAAAAGjl6nO85xIAWOkSABfv 5nP/////uOgSAJ4m3XMFAAAAUOkSAFDpEgAFAAAAAAASAD9C3XMAAMJ3CAAAAP////886BIA EAAAAC6lw3egGsZ3mOkSAEPDwncEAAAAzsPCdwfEwneoXB4O/////2R2AAjgjmgBZHYACAAA AAAlAAAADAAAAAUAAABUAAAAeAAAAD0AAAATAAAAYgAAAB4AAAABAAAAAADhQQCQ4sFOAAAA 2f///wcAAABMAAAAAAAAAAAAAAAAAAAA//////////9cAAAAQwBvAG4AdABlAHgAdAAAAAcA AAAGAAAABgAAAAMAAAAGAAAABgAAAAMAAAAlAAAADAAAAAEAAAAbAAAAEAAAABsAAADH//// NgAAABAAAAClAAAAx////xgAAAAMAAAAAACAABgAAAAMAAAAAAAAABgAAAAMAAAAAEBAAFQA AABYAAAADwAAAC0AAAAYAAAAOQAAAAEAAAAAAOFBAJDiwSAAAAC/////AgAAAEwAAAAAAAAA AAAAAAAAAAD//////////1AAAAArACAABgAAAAMAAABUAAAA5AAAACAAAAAtAAAAkAAAADkA AAABAAAAAADhQQCQ4sExAAAAv////xkAAABMAAAAAAAAAAAAAAAAAAAA//////////+AAAAA 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 AAAcAAAABwAAAAAAAAABAAAAAAAAAMC/wAAlAAAADAAAAAcAAAArAAAAGAAAABEBAABG//// pAEAAAH///8lAAAADAAAAAIAAAAoAAAADAAAAAgAAAAlAAAADAAAAAMAAAAoAAAADAAAAAcA AAArAAAAGAAAAA4BAABJ////oQEAAAT///8lAAAADAAAAAUAAABUAAAAtAAAABkBAACsAAAA dAEAALcAAAABAAAAAADhQQCQ4sEqAQAAQP///xEAAABMAAAAAAAAAAAAAAAAAAAA//////// //9wAAAAQwBvAG4AYwByAGUAdABlAFMAdAByAGEAdABlAGcAeQBCAAAABwAAAAYAAAAGAAAA BgAAAAQAAAAGAAAAAwAAAAYAAAAHAAAAAwAAAAQAAAAGAAAAAwAAAAYAAAAGAAAABQAAAAcA AAAlAAAADAAAAAEAAAAbAAAAEAAAAA4BAAAu////NgAAABAAAAChAQAALv///xgAAAAMAAAA AACAABgAAAAMAAAAAAAAABgAAAAMAAAAAEBAAFQAAABYAAAAAgEAAMYAAAALAQAA0gAAAAEA AAAAAOFBAJDiwRMBAAAm////AgAAAEwAAAAAAAAAAAAAAAAAAAD//////////1AAAAArACAA BgAAAAMAAABUAAAA8AAAABMBAADGAAAAjQEAANIAAAABAAAAAADhQQCQ4sEkAQAAJv///xsA AABMAAAAAAAAAAAAAAAAAAAA//////////+EAAAAQQBsAGcAbwByAGkAdABoAG0ASQBuAHQA ZQByAGYAYQBjAGUAKAApACAAOgAgAHYAbwBpAGQAAAAHAAAAAwAAAAYAAAAGAAAAAwAAAAMA AAADAAAABgAAAAkAAAADAAAABgAAAAMAAAAGAAAAAwAAAAMAAAAGAAAABQAAAAYAAAADAAAA AwAAAAMAAAADAAAAAwAAAAUAAAAGAAAAAwAAAAYAAAAYAAAADAAAAAAAAAAnAAAAGAAAAAcA AAAAAAAAwL/AAAAAAAAlAAAADAAAAAcAAAAmAAAAHAAAAAgAAAAAAAAAAQAAAAAAAADAv8AA JQAAAAwAAAAIAAAAKwAAABgAAADGAQAARv///1oCAAAB////JQAAAAwAAAACAAAAKAAAAAwA AAAHAAAAJQAAAAwAAAADAAAAKAAAAAwAAAAIAAAAKwAAABgAAADDAQAASf///1cCAAAE//// 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 AwAAAA4AAAAUAAAAAAAAABAAAAAUAAAA</UMLPattern.PreviewImage>
          </UMLPattern>
        </XMI.extensions>
      </XMI>
    </UMLPattern>
    <UMLPattern>
      <XMI xmi.version="1.1" xmlns:UML="omg.org/UML1.3" timestamp="2005-02-11 15:43:41">
        <XMI.header>
          <XMI.documentation>
            <XMI.exporter>Enterprise Architect</XMI.exporter>
            <XMI.exporterVersion>2.5</XMI.exporterVersion>
          </XMI.documentation>
        </XMI.header>
        <XMI.content>
          <UML:Model name="EA Model" xmi.id="MX_EAID_F02D1706_AC66_46e8_B045_CBCBB917932C">
            <UML:Namespace.ownedElement>
              <UML:Class name="AbstractClass" xmi.id="EAID_A0F71511_9335_4582_BEAA_11C4C10AC0B3" visibility="public" namespace="EAPK_F02D1706_AC66_46e8_B045_CBCBB917932C" isRoot="false" isLeaf="false" isAbstract="true" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class (a) defines abstract primitive operations that concrete subclasses define to implement steps of an algorithm, and (b) implements a template method defining the skeleton of an algorithm."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_F02D1706_AC66_46e8_B045_CBCBB917932C"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-07 11:46:39"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-09 11:55:47"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Template Method"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="TemplateMethod" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="behaviour" value="// do something&#xA;&#xA;PrimitiveOperation1();&#xA;&#xA;// do something&#xA;&#xA;PrimitiveOperation2();&#xA;&#xA;// do something"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{A0038E79-FF40-467a-9A9A-F69FED7B8310}"/>
                      <UML:TaggedValue tag="styleex" value="ShowBeh=0;"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-FF40-467a-9A9A-F69FED7B8310}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                  <UML:Operation name="PrimitiveOperation1" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="isAbstract" value="1"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="1"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{58F22B42-967F-4e77-A7AC-D42E148273C3}"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-967F-4e77-A7AC-D42E148273C3}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                  <UML:Operation name="PrimitiveOperation2" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="isAbstract" value="1"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="2"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{70A282B8-4FE0-4ae3-9D99-EE6C0C82DD1F}"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-4FE0-4ae3-9D99-EE6C0C82DD1F}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
              <UML:Generalization subtype="EAID_5241B683_0373_4482_8155_5927047C4766" supertype="EAID_A0F71511_9335_4582_BEAA_11C4C10AC0B3" xmi.id="EAID_91277CF4_E837_44c7_936D_AF09E5AEAFAA" visibility="public">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="2"/>
                  <UML:TaggedValue tag="ea_type" value="Generalization"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="2"/>
                  <UML:TaggedValue tag="linecolor" value="0"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="src_visibility" value="Public"/>
                  <UML:TaggedValue tag="src_aggregation" value="0"/>
                  <UML:TaggedValue tag="src_isOrdered" value="false"/>
                  <UML:TaggedValue tag="src_isNavigable" value="false"/>
                  <UML:TaggedValue tag="dst_visibility" value="Public"/>
                  <UML:TaggedValue tag="dst_aggregation" value="0"/>
                  <UML:TaggedValue tag="dst_isOrdered" value="false"/>
                  <UML:TaggedValue tag="dst_isNavigable" value="false"/>
                </UML:ModelElement.taggedValue>
              </UML:Generalization>
              <UML:Class name="ConcreteClass" xmi.id="EAID_5241B683_0373_4482_8155_5927047C4766" visibility="public" namespace="EAPK_F02D1706_AC66_46e8_B045_CBCBB917932C" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class implements the primitive operations to carry out subclass-specific steps of the algorithm."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_F02D1706_AC66_46e8_B045_CBCBB917932C"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-07 11:50:04"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-09 11:55:48"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Template Method"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="PrimitiveOperation1" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="1"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{6CBC4FD4-DF22-4b2f-982B-405108861ADC}"/>
                      <UML:TaggedValue tag="override" value="true" xmi.id="EAID_AB048169_ACB5_4a36_AC25_FDB509AB8415"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-DF22-4b2f-982B-405108861ADC}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                  <UML:Operation name="PrimitiveOperation2" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="2"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{FC03F4AE-30DA-42f4-A60C-AAFF9A12C5D5}"/>
                      <UML:TaggedValue tag="override" value="true" xmi.id="EAID_12C0D909_C60F_4bbe_AB14_05C850ED8DB0"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-30DA-42f4-A60C-AAFF9A12C5D5}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
            </UML:Namespace.ownedElement>
          </UML:Model>
          <UML:Diagram name="Template Method" xmi.id="EAID_C3578254_06A7_4e9f_A267_D96121ED504D" diagramType="ClassDiagram" owner="EAPK_C3578254_06A7_4e9f_A267_D96121ED504D" toolName="Enterprise Architect 2.5">
            <UML:ModelElement.taggedValue>
              <UML:TaggedValue tag="documentation" value="This pattern defines the skeleton of an algorithm in an operation, deferring some steps to subclasses. It lets subclasses redefine certain steps of an algorithm without changing the algorithm's structure."/>
              <UML:TaggedValue tag="version" value="1.0"/>
              <UML:TaggedValue tag="created_date" value="2004-12-14 13:32:33"/>
              <UML:TaggedValue tag="modified_date" value="2005-01-31 16:04:47"/>
              <UML:TaggedValue tag="package" value="EAPK_F02D1706_AC66_46e8_B045_CBCBB917932C"/>
              <UML:TaggedValue tag="type" value="Logical"/>
              <UML:TaggedValue tag="swimlanes" value="locked=false;orientation=0;width=0;inbar=false;names=false;color=0;bold=false;fcol=0;;cls=0;"/>
              <UML:TaggedValue tag="EAStyle" value="ShowPrivate=1;ShowProtected=1;ShowPublic=1;HideRelationships=0;Locked=0;Border=1;HighlightForeign=1;PackageContents=1;SequenceNotes=0;ScalePrintImage=0;PPgs.cx=0;PPgs.cy=0;DocSize.cx=780;DocSize.cy=1138;ShowDetails=0;Orientation=P;Zoom=100;ShowTags=0;OpParams=1;ShowIcons=1;CollabNums=0;HideProps=0;ShowReqs=0;ShowCons=0;PaperSize=9;HideParents=0;UseAlias=0;HideAtts=0;HideOps=0;HideStereo=0;HideElemStereo=0;ShowTests=0;ShowMaint=0;"/>
              <UML:TaggedValue tag="styleex" value="ExcludeRTF=0;DocAll=0;HideQuals=0;AttPkg=1;ShowTests=0;ShowMaint=0;SuppressFOC=0;TDurLow=0;TDurHigh=100;TDurUnit=;TDurHide=0;"/>
            </UML:ModelElement.taggedValue>
            <UML:Diagram.element>
              <UML:DiagramElement geometry="Left=100;Top=238;Right=256;Bottom=330;imgL=10;imgT=174;imgR=166;imgB=266;" subject="EAID_5241B683_0373_4482_8155_5927047C4766" seqno="1" style="DUID=887E5B59;OpInh=1;LBL=;"/>
              <UML:DiagramElement geometry="Left=101;Top=74;Right=255;Bottom=172;imgL=11;imgT=10;imgR=165;imgB=108;" subject="EAID_A0F71511_9335_4582_BEAA_11C4C10AC0B3" seqno="2" style="DUID=4FCD32EC;LBL=;"/>
              <UML:DiagramElement geometry="EDGE=1;$LLB=;LLT=;LMT=;LMB=;LRT=;LRB=;Path=;" subject="EAID_91277CF4_E837_44c7_936D_AF09E5AEAFAA" style="Mode=2;EOID=4FCD32EC;SOID=887E5B59;Hidden=0;"/>
            </UML:Diagram.element>
          </UML:Diagram>
        </XMI.content>
        <XMI.difference/>
        <XMI.extensions xmi.extender="Enterprise Architect 2.5">
          <EAStub xmi.id="EAID_5241B683_0373_4482_8155_5927047C4766" name="ConcreteClass" UMLType="Class"/>
          <EAStub xmi.id="EAID_A0F71511_9335_4582_BEAA_11C4C10AC0B3" name="AbstractClass" UMLType="Class"/>
          <UMLPattern name="Template Method" category="GoF Behavioral Patterns" version="1.0" notes="This pattern defines the skeleton of an algorithm in an operation, deferring some steps to subclasses. It lets subclasses redefine certain steps of an algorithm without changing the algorithm's structure.">
            <UMLPattern.PromptList>
              <Element name="ConcreteClass:Class" guid="EAID_5241B683_0373_4482_8155_5927047C4766" id="625" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class implements the primitive operations to carry out subclass-specific steps of the algorithm.">
                  <![CDATA[This class implements the primitive operations to carry out subclass-specific steps of the algorithm.]]>
                </Comment>
              </Element>
              <Element name="AbstractClass:Class" guid="EAID_A0F71511_9335_4582_BEAA_11C4C10AC0B3" id="624" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class (a) defines abstract primitive operations that concrete subclasses define to implement steps of an algorithm, and (b) implements a template method defining the skeleton of an algorithm.">
                  <![CDATA[This class (a) defines abstract primitive operations that concrete subclasses define to implement steps of an algorithm, and (b) implements a template method defining the skeleton of an algorithm.]]>
                </Comment>
              </Element>
            </UMLPattern.PromptList>
            <UMLPattern.PreviewImage xmlns:dt="urn:schemas-microsoft-com:datatypes" dt:dt="bin.base64" cx="4950" cy="7816">AQAAAGwAAAAKAAAACgAAAKgAAAAMAQAAAAAAAAAAAABWEwAAiB4AACBFTUYAAAEAuBQAAG0A AAAIAAAAAAAAAAAAAAAAAAAAAAUAAAAEAABoAQAAIgEAAAAAAAAAAAAAAAAAAEB+BQDQbAQA EQAAAAwAAAAIAAAACQAAABAAAAABAAAA/////woAAAAQAAAAWgAAAMD///9SAAAAcAEAAAEA AAD2////AAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAQQBSAEkAQQBMAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkXwAAEAAHOcSAAAA AAAAAAAAhOcSAKznEgC3LJF88C8iAJju7gCM5xIAAAAAAI6ggHwAAEAAmO7uAIznEgCloIB8 +OcSANKPAAAAAAAAEAAAAAUAAAD85xIA/wAAAMDnEgClAtV3POgSAP8AAADY5xIAbHMOAQoA AAD1Gd1zAADqc0AAAAAFAAAAUOkSAAAAAABo5epzvOcSAFjpEgAX7+Zz/////7joEgCeJt1z BQAAAFDpEgBQ6RIABQAAAAAAEgA/Qt1zOKQeDjzoEgAFAAAAPOgSAFDpEgAXQt1zBQAAADzo EgAFAAAAAAEAAA5K3XM86BIAAAAAAFxK3XNkdgAIAAAAACUAAAAMAAAAAQAAACcAAAAYAAAA AgAAAAAAAAD88uMAAAAAACUAAAAMAAAAAgAAACYAAAAcAAAAAwAAAAAAAAABAAAAAAAAAAAA AAAlAAAADAAAAAMAAAASAAAADAAAAAEAAAAhAAAACAAAABgAAAAMAAAAAAAAACYAAAAcAAAA BAAAAAAAAAABAAAAAAAAAAAAAAAlAAAADAAAAAQAAAASAAAADAAAAAIAAAAZAAAADAAAAP// /wASAAAADAAAAAEAAAAZAAAADAAAAP///wAlAAAADAAAAAMAAAAiAAAADAAAAP////8oAAAA DAAAAAQAAAAnAAAAGAAAAAQAAAAAAAAAwL/AAAAAAAAlAAAADAAAAAQAAAAmAAAAHAAAAAUA AAAAAAAAAQAAAAAAAADAv8AAJQAAAAwAAAAFAAAAOQAAAAwAAAACAAAAKwAAABgAAABoAAAA s////wEBAABS////JQAAAAwAAAACAAAAKAAAAAwAAAAEAAAAJQAAAAwAAAADAAAAKAAAAAwA AAAFAAAAKwAAABgAAABlAAAAtv////4AAABV////UgAAAHABAAAFAAAA9v///wAAAAAAAAAA AAAAALwCAAABAAABAAAAAEEAUgBJAEEATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAACE5xIArOcSALcskXzwLyIA mO7uAIznEgAAAAAAjqCAfAAAQACY7u4AjOcSAKWggHz45xIA0o8AAAAAAAAQAAAABQAAAPzn EgD/AAAAwOcSAKUC1Xc86BIA/wAAANjnEgBscw4BCgAAAPUZ3XMAAOpzQAAAAAAAAABQ6RIA AAAAAGjl6nO85xIAWOkSABfv5nP/////uOgSAJ4m3XMFAAAAUOkSAFDpEgAFAAAAAAASAD9C 3XMAAMJ3CAAAAP////886BIAEAAAAC6lw3egGsZ3mOkSAEPDwncEAAAAzsPCdwfEwnfwQB4O /////6AaxneAjmgBZHYACAAAAAAlAAAADAAAAAUAAABUAAAAnAAAADUAAAATAAAAegAAAB0A AAABAAAAAADhQQCQ4sGPAAAArf///w0AAABMAAAAAAAAAAAAAAAAAAAA//////////9oAAAA QQBiAHMAdAByAGEAYwB0AEMAbABhAHMAcwAAAAcAAAAGAAAABgAAAAMAAAAEAAAABgAAAAYA AAADAAAABwAAAAMAAAAGAAAABgAAAAYAAAAlAAAADAAAAAEAAAAbAAAAEAAAAGUAAACb//// NgAAABAAAAD+AAAAm////xgAAAAMAAAAAACAABgAAAAMAAAAAAAAABgAAAAMAAAAAEBAAFQA AABYAAAAEAAAAC0AAAAZAAAAOQAAAAEAAAAAAOFBAJDiwWoAAACT////AgAAAEwAAAAAAAAA AAAAAAAAAAD//////////1AAAAArACAABgAAAAMAAABUAAAA2AAAACEAAAAtAAAAlgAAADkA AAABAAAAAADhQQCQ4sF7AAAAk////xcAAABMAAAAAAAAAAAAAAAAAAAA//////////98AAAA VABlAG0AcABsAGEAdABlAE0AZQB0AGgAbwBkACgAKQAgADoAIAB2AG8AaQBkAAAABwAAAAYA AAAJAAAABgAAAAMAAAAGAAAAAwAAAAYAAAAJAAAABgAAAAMAAAAGAAAABgAAAAYAAAADAAAA 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 AAAAABAAAAAUAAAA</UMLPattern.PreviewImage>
          </UMLPattern>
        </XMI.extensions>
      </XMI>
    </UMLPattern>
    <UMLPattern>
      <XMI xmi.version="1.1" xmlns:UML="omg.org/UML1.3" timestamp="2005-02-11 15:43:58">
        <XMI.header>
          <XMI.documentation>
            <XMI.exporter>Enterprise Architect</XMI.exporter>
            <XMI.exporterVersion>2.5</XMI.exporterVersion>
          </XMI.documentation>
        </XMI.header>
        <XMI.content>
          <UML:Model name="EA Model" xmi.id="MX_EAID_DDCC13C2_2E55_4e9c_882B_1E09FFC8A7DC">
            <UML:Namespace.ownedElement>
              <UML:Class name="ObjectStructure" xmi.id="EAID_370821B3_3D52_47aa_89AB_F6B580EFE6BF" visibility="public" namespace="EAPK_DDCC13C2_2E55_4e9c_882B_1E09FFC8A7DC" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class can enumerate its elements, may provide a high-level interface to allow the visitor to visit its elements and may either be a composite or a collection such as a list or a set."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_DDCC13C2_2E55_4e9c_882B_1E09FFC8A7DC"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-07 11:51:29"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-11 15:40:44"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Visitor"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="Attach" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="behaviour" value="elements.addElement( element );"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{02E75C68-1972-405c-8723-7905483236A5}"/>
                      <UML:TaggedValue tag="styleex" value="ShowBeh=0;"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-1972-405c-8723-7905483236A5}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                      <UML:Parameter name="element" kind="in" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="EAID_BFE06784_11DB_4bca_8690_A535CF7CB7B4"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="Element"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="classifier" value="EAID_BFE06784_11DB_4bca_8690_A535CF7CB7B4"/>
                          <UML:TaggedValue tag="ea_guid" value="{BA19C606-6C47-490e-9894-A11548792B84}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                  <UML:Operation name="Detach" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="behaviour" value="elements.removeElement( element );"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="1"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{8FB515EE-AD10-473a-BDDD-9D8D0EA92218}"/>
                      <UML:TaggedValue tag="styleex" value="ShowBeh=0;"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-AD10-473a-BDDD-9D8D0EA92218}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                      <UML:Parameter name="element" kind="in" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="EAID_BFE06784_11DB_4bca_8690_A535CF7CB7B4"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="Element"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="classifier" value="EAID_BFE06784_11DB_4bca_8690_A535CF7CB7B4"/>
                          <UML:TaggedValue tag="ea_guid" value="{9F3D103C-BA6E-49dd-BB5E-65E61F9F6740}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                  <UML:Operation name="Accept" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="behaviour" value="foreach (Element e in elements) e.Accept( visitor );"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="2"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{E0073A9A-E5F9-45e3-A6AA-90DAC5027B9E}"/>
                      <UML:TaggedValue tag="styleex" value="ShowBeh=0;"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-E5F9-45e3-A6AA-90DAC5027B9E}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                      <UML:Parameter name="visitor" kind="in" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="EAID_53E9F12E_DD00_4677_8402_192C8C21D912"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="Visitor"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="classifier" value="EAID_53E9F12E_DD00_4677_8402_192C8C21D912"/>
                          <UML:TaggedValue tag="ea_guid" value="{3DEED4B7-54AE-4c3c-9DA6-57F1F956FD99}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
              <UML:Association xmi.id="EAID_FAC04386_050D_420a_92C3_E1F5BC0621B2" visibility="public" isRoot="false" isLeaf="false" isAbstract="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="1"/>
                  <UML:TaggedValue tag="ea_type" value="Association"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="1"/>
                  <UML:TaggedValue tag="linecolor" value="0"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="privatedata5" value="SX=0;SY=0;EX=0;EY=0;EDGE=2;"/>
                  <UML:TaggedValue tag="virtualInheritance" value="0"/>
                  <UML:TaggedValue tag="rb" value="1..*"/>
                </UML:ModelElement.taggedValue>
                <UML:Association.connection>
                  <UML:AssociationEnd visibility="public" aggregation="none" isOrdered="false" isNavigable="false" type="EAID_370821B3_3D52_47aa_89AB_F6B580EFE6BF">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="containment" value="Unspecified"/>
                    </UML:ModelElement.taggedValue>
                  </UML:AssociationEnd>
                  <UML:AssociationEnd visibility="private" multiplicity="0..*" name="elements" aggregation="none" isOrdered="false" isNavigable="true" type="EAID_BFE06784_11DB_4bca_8690_A535CF7CB7B4">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="containment" value="Unspecified"/>
                      <UML:TaggedValue tag="type" value="ArrayList"/>
                    </UML:ModelElement.taggedValue>
                  </UML:AssociationEnd>
                </UML:Association.connection>
              </UML:Association>
              <UML:Class name="Element" xmi.id="EAID_BFE06784_11DB_4bca_8690_A535CF7CB7B4" visibility="public" namespace="EAPK_DDCC13C2_2E55_4e9c_882B_1E09FFC8A7DC" isRoot="false" isLeaf="false" isAbstract="true" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class defines an Accept operation that takes a visitor as an argument."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_DDCC13C2_2E55_4e9c_882B_1E09FFC8A7DC"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-07 11:51:44"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-09 11:55:48"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Visitor"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="Accept" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="isAbstract" value="1"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{E536DC5F-B3E2-4458-B9E0-04CA94741B8E}"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-B3E2-4458-B9E0-04CA94741B8E}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                      <UML:Parameter name="visitor" kind="in" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="EAID_53E9F12E_DD00_4677_8402_192C8C21D912"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="Visitor"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="classifier" value="EAID_53E9F12E_DD00_4677_8402_192C8C21D912"/>
                          <UML:TaggedValue tag="ea_guid" value="{FA0B56E5-A09B-4ddb-836F-AC1A7A18C058}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
              <UML:Generalization subtype="EAID_DEA9BB80_8DE9_458c_B052_74E23CAB6817" supertype="EAID_BFE06784_11DB_4bca_8690_A535CF7CB7B4" xmi.id="EAID_9222F208_5E5A_4bd4_AE1A_3F5B7D2738FD" visibility="public">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="3"/>
                  <UML:TaggedValue tag="ea_type" value="Generalization"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="3"/>
                  <UML:TaggedValue tag="linecolor" value="0"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="subtype" value="Tree"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="src_visibility" value="Public"/>
                  <UML:TaggedValue tag="src_aggregation" value="0"/>
                  <UML:TaggedValue tag="src_isOrdered" value="false"/>
                  <UML:TaggedValue tag="src_isNavigable" value="false"/>
                  <UML:TaggedValue tag="dst_visibility" value="Public"/>
                  <UML:TaggedValue tag="dst_aggregation" value="0"/>
                  <UML:TaggedValue tag="dst_isOrdered" value="false"/>
                  <UML:TaggedValue tag="dst_isNavigable" value="false"/>
                  <UML:TaggedValue tag="$ea_xref_property" value="$XREFPROP=$XID={FCF6265B-5EEF-4f66-A1F8-7B32CAFC9312}$XID;$NAM=CustomProperties$NAM;$TYP=connector property$TYP;$VIS=Public$VIS;$DES=@PROP=@NAME=isSubstitutable@ENDNAME;@TYPE=boolean@ENDTYPE;@VALU=@ENDVALU;@PRMT=@ENDPRMT;@ENDPROP;$DES;$CLT={9222F208-5E5A-4bd4-AE1A-3F5B7D2738FD}$CLT;$SUP=&lt;none&gt;$SUP;$ENDXREF;"/>
                  <UML:TaggedValue tag="privatedata5" value="SX=0;SY=0;EDGE=1;"/>
                </UML:ModelElement.taggedValue>
              </UML:Generalization>
              <UML:Generalization subtype="EAID_95C7A137_5F00_4914_B8BD_BB9A05D66F07" supertype="EAID_BFE06784_11DB_4bca_8690_A535CF7CB7B4" xmi.id="EAID_B3B5F0E7_4BD4_481d_B955_760995FE03D9" visibility="public">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="3"/>
                  <UML:TaggedValue tag="ea_type" value="Generalization"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="3"/>
                  <UML:TaggedValue tag="linecolor" value="0"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="subtype" value="Tree"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="src_visibility" value="Public"/>
                  <UML:TaggedValue tag="src_aggregation" value="0"/>
                  <UML:TaggedValue tag="src_isOrdered" value="false"/>
                  <UML:TaggedValue tag="src_isNavigable" value="false"/>
                  <UML:TaggedValue tag="dst_visibility" value="Public"/>
                  <UML:TaggedValue tag="dst_aggregation" value="0"/>
                  <UML:TaggedValue tag="dst_isOrdered" value="false"/>
                  <UML:TaggedValue tag="dst_isNavigable" value="false"/>
                  <UML:TaggedValue tag="$ea_xref_property" value="$XREFPROP=$XID={5F1CB028-65BE-484f-BAA8-962E0FF724C2}$XID;$NAM=CustomProperties$NAM;$TYP=connector property$TYP;$VIS=Public$VIS;$DES=@PROP=@NAME=isSubstitutable@ENDNAME;@TYPE=boolean@ENDTYPE;@VALU=@ENDVALU;@PRMT=@ENDPRMT;@ENDPROP;$DES;$CLT={B3B5F0E7-4BD4-481d-B955-760995FE03D9}$CLT;$SUP=&lt;none&gt;$SUP;$ENDXREF;"/>
                  <UML:TaggedValue tag="privatedata5" value="SX=0;SY=0;EDGE=1;"/>
                </UML:ModelElement.taggedValue>
              </UML:Generalization>
              <UML:Class name="ConcreteElementB" xmi.id="EAID_95C7A137_5F00_4914_B8BD_BB9A05D66F07" visibility="public" namespace="EAPK_DDCC13C2_2E55_4e9c_882B_1E09FFC8A7DC" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class implements an Accept operation that takes a Visitor as an argument."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_DDCC13C2_2E55_4e9c_882B_1E09FFC8A7DC"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-07 11:54:08"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-09 11:55:48"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Visitor"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="Accept" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="behaviour" value="visitor.VisitConcreteElementB( this );"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{5C07A3B8-4E5F-4ec2-B120-809717FD18F6}"/>
                      <UML:TaggedValue tag="styleex" value="ShowBeh=0;"/>
                      <UML:TaggedValue tag="override" value="true" xmi.id="EAID_2D2EA7C0_A0A2_49fd_B27B_5EEAEE2D9370"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-4E5F-4ec2-B120-809717FD18F6}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                      <UML:Parameter name="visitor" kind="in" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="EAID_53E9F12E_DD00_4677_8402_192C8C21D912"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="Visitor"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="classifier" value="EAID_53E9F12E_DD00_4677_8402_192C8C21D912"/>
                          <UML:TaggedValue tag="ea_guid" value="{C9301CB4-518A-47e9-A785-DEA82B871E78}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
              <UML:Class name="Visitor" xmi.id="EAID_53E9F12E_DD00_4677_8402_192C8C21D912" visibility="public" namespace="EAPK_DDCC13C2_2E55_4e9c_882B_1E09FFC8A7DC" isRoot="false" isLeaf="false" isAbstract="true" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class declares a Visit operation for each class of ConcreteElement in the object structure. The operation's name and signature identifies the class that sends the Visit request to the visitor. That lets the visitor determine the concrete class of the element being visited. Then the visitor can access the element directly through its particular interface."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_DDCC13C2_2E55_4e9c_882B_1E09FFC8A7DC"/>
                  <UML:TaggedValue tag="date_created" value="2004-12-17 14:08:00"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-09 11:55:48"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Visitor"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="VisitConcreteElementA" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="isAbstract" value="1"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{A6A967E9-0344-4525-8E19-142326A84819}"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-0344-4525-8E19-142326A84819}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                      <UML:Parameter name="concreteElementA" kind="in" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="EAID_DEA9BB80_8DE9_458c_B052_74E23CAB6817"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="ConcreteElementA"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="classifier" value="EAID_DEA9BB80_8DE9_458c_B052_74E23CAB6817"/>
                          <UML:TaggedValue tag="ea_guid" value="{B26194A5-8D43-4494-BF13-886A25F78EF7}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                  <UML:Operation name="VisitConcreteElementB" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="isAbstract" value="1"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="1"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{DAF2DB0E-E159-4c0b-B2FD-9BD82296904B}"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-E159-4c0b-B2FD-9BD82296904B}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                      <UML:Parameter name="concreteElementB" kind="in" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="EAID_95C7A137_5F00_4914_B8BD_BB9A05D66F07"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="ConcreteElementB"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="classifier" value="EAID_95C7A137_5F00_4914_B8BD_BB9A05D66F07"/>
                          <UML:TaggedValue tag="ea_guid" value="{C54707C8-8560-449b-BB2A-4E47E149253D}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
              <UML:Generalization subtype="EAID_D4BD41C0_132F_486c_997C_DF104096484E" supertype="EAID_53E9F12E_DD00_4677_8402_192C8C21D912" xmi.id="EAID_4E42EE81_DC2D_49e3_A527_43F6153C538E" visibility="public">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="3"/>
                  <UML:TaggedValue tag="ea_type" value="Generalization"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="3"/>
                  <UML:TaggedValue tag="linecolor" value="-1"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="subtype" value="Tree"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="src_visibility" value="Public"/>
                  <UML:TaggedValue tag="src_aggregation" value="0"/>
                  <UML:TaggedValue tag="src_isOrdered" value="false"/>
                  <UML:TaggedValue tag="src_isNavigable" value="false"/>
                  <UML:TaggedValue tag="dst_visibility" value="Public"/>
                  <UML:TaggedValue tag="dst_aggregation" value="0"/>
                  <UML:TaggedValue tag="dst_isOrdered" value="false"/>
                  <UML:TaggedValue tag="dst_isNavigable" value="true"/>
                  <UML:TaggedValue tag="$ea_xref_property" value="$XREFPROP=$XID={BB80BBB5-E70B-406e-855D-5FBD80674B64}$XID;$NAM=CustomProperties$NAM;$TYP=connector property$TYP;$VIS=Public$VIS;$DES=@PROP=@NAME=isSubstitutable@ENDNAME;@TYPE=boolean@ENDTYPE;@VALU=@ENDVALU;@PRMT=@ENDPRMT;@ENDPROP;$DES;$CLT={4E42EE81-DC2D-49e3-A527-43F6153C538E}$CLT;$SUP=&lt;none&gt;$SUP;$ENDXREF;"/>
                  <UML:TaggedValue tag="privatedata5" value="SX=0;SY=0;EX=0;EY=0;EDGE=1;"/>
                </UML:ModelElement.taggedValue>
              </UML:Generalization>
              <UML:Generalization subtype="EAID_C4D50004_6C11_44e6_A9BD_C64922183B67" supertype="EAID_53E9F12E_DD00_4677_8402_192C8C21D912" xmi.id="EAID_62D23CB8_85AE_4e6d_B3EC_F7BDBA2344FC" visibility="public">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="style" value="3"/>
                  <UML:TaggedValue tag="ea_type" value="Generalization"/>
                  <UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
                  <UML:TaggedValue tag="linemode" value="3"/>
                  <UML:TaggedValue tag="linecolor" value="-1"/>
                  <UML:TaggedValue tag="linewidth" value="0"/>
                  <UML:TaggedValue tag="seqno" value="0"/>
                  <UML:TaggedValue tag="subtype" value="Tree"/>
                  <UML:TaggedValue tag="headStyle" value="0"/>
                  <UML:TaggedValue tag="lineStyle" value="0"/>
                  <UML:TaggedValue tag="src_visibility" value="Public"/>
                  <UML:TaggedValue tag="src_aggregation" value="0"/>
                  <UML:TaggedValue tag="src_isOrdered" value="false"/>
                  <UML:TaggedValue tag="src_isNavigable" value="false"/>
                  <UML:TaggedValue tag="dst_visibility" value="Public"/>
                  <UML:TaggedValue tag="dst_aggregation" value="0"/>
                  <UML:TaggedValue tag="dst_isOrdered" value="false"/>
                  <UML:TaggedValue tag="dst_isNavigable" value="true"/>
                  <UML:TaggedValue tag="$ea_xref_property" value="$XREFPROP=$XID={753C82A4-D9FA-4b3f-B9E7-78022BE7A0BE}$XID;$NAM=CustomProperties$NAM;$TYP=connector property$TYP;$VIS=Public$VIS;$DES=@PROP=@NAME=isSubstitutable@ENDNAME;@TYPE=boolean@ENDTYPE;@VALU=@ENDVALU;@PRMT=@ENDPRMT;@ENDPROP;$DES;$CLT={62D23CB8-85AE-4e6d-B3EC-F7BDBA2344FC}$CLT;$SUP=&lt;none&gt;$SUP;$ENDXREF;"/>
                  <UML:TaggedValue tag="privatedata5" value="SX=0;SY=0;EDGE=1;"/>
                </UML:ModelElement.taggedValue>
              </UML:Generalization>
              <UML:Class name="ConcreteVisitor1" xmi.id="EAID_D4BD41C0_132F_486c_997C_DF104096484E" visibility="public" namespace="EAPK_DDCC13C2_2E55_4e9c_882B_1E09FFC8A7DC" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class implements each operation declared by Visitor. Each operation implements a fragment of the algorithm defined for the corresponding class of object in the structure. ConcreteVisitor provides the context for the algorithm and stores its local state. This state often accumulates results during the traversal of the structure."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_DDCC13C2_2E55_4e9c_882B_1E09FFC8A7DC"/>
                  <UML:TaggedValue tag="date_created" value="2004-12-17 14:14:21"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-09 11:55:48"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Visitor"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="VisitConcreteElementA" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{C94DFCDF-7020-4b96-9CC7-3EBDB0B9A9C8}"/>
                      <UML:TaggedValue tag="override" value="true" xmi.id="EAID_8C67C364_6D20_44a8_B763_16F9DA2E1FAB"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-7020-4b96-9CC7-3EBDB0B9A9C8}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                      <UML:Parameter name="concreteElementA" kind="in" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="EAID_DEA9BB80_8DE9_458c_B052_74E23CAB6817"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="ConcreteElementA"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="classifier" value="EAID_DEA9BB80_8DE9_458c_B052_74E23CAB6817"/>
                          <UML:TaggedValue tag="ea_guid" value="{9C59DB63-FBF7-44b0-837E-EEC868B77503}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                  <UML:Operation name="VisitConcreteElementB" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="1"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{88CD059C-89D6-451a-95EA-9236E6F27467}"/>
                      <UML:TaggedValue tag="override" value="true" xmi.id="EAID_9CFF5183_1B91_41cc_B1B2_8F9B05C8F9EA"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-89D6-451a-95EA-9236E6F27467}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                      <UML:Parameter name="concreteElementB" kind="in" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="EAID_95C7A137_5F00_4914_B8BD_BB9A05D66F07"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="ConcreteElementB"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="classifier" value="EAID_95C7A137_5F00_4914_B8BD_BB9A05D66F07"/>
                          <UML:TaggedValue tag="ea_guid" value="{F09613B2-A329-4cac-95BD-3197132FBF81}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
              <UML:Class name="ConcreteVisitor2" xmi.id="EAID_C4D50004_6C11_44e6_A9BD_C64922183B67" visibility="public" namespace="EAPK_DDCC13C2_2E55_4e9c_882B_1E09FFC8A7DC" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class implements each operation declared by Visitor. Each operation implements a fragment of the algorithm defined for the corresponding class of object in the structure. ConcreteVisitor provides the context for the algorithm and stores its local state. This state often accumulates results during the traversal of the structure."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_DDCC13C2_2E55_4e9c_882B_1E09FFC8A7DC"/>
                  <UML:TaggedValue tag="date_created" value="2004-12-17 14:15:04"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-09 11:55:48"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Visitor"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="VisitConcreteElementA" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{CA055C06-3B43-4cad-AEE7-205E54E9B2A0}"/>
                      <UML:TaggedValue tag="override" value="true" xmi.id="EAID_C2DF0815_2837_4762_A997_88F2BED06000"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-3B43-4cad-AEE7-205E54E9B2A0}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                      <UML:Parameter name="concreteElementA" kind="in" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="EAID_DEA9BB80_8DE9_458c_B052_74E23CAB6817"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="ConcreteElementA"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="classifier" value="EAID_DEA9BB80_8DE9_458c_B052_74E23CAB6817"/>
                          <UML:TaggedValue tag="ea_guid" value="{F5A88370-608E-4492-8D6C-2F5AB0DDBD4F}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                  <UML:Operation name="VisitConcreteElementB" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="1"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{258A6B01-0A58-4693-886F-7FB4E5C4ACB1}"/>
                      <UML:TaggedValue tag="override" value="true" xmi.id="EAID_EE4C821C_299F_4533_8CF1_46997789DEA3"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-0A58-4693-886F-7FB4E5C4ACB1}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                      <UML:Parameter name="concreteElementB" kind="in" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="EAID_95C7A137_5F00_4914_B8BD_BB9A05D66F07"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="ConcreteElementB"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="classifier" value="EAID_95C7A137_5F00_4914_B8BD_BB9A05D66F07"/>
                          <UML:TaggedValue tag="ea_guid" value="{1C41F1E0-FE52-45b3-B4EA-87656303D84B}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
              <UML:Class name="ConcreteElementA" xmi.id="EAID_DEA9BB80_8DE9_458c_B052_74E23CAB6817" visibility="public" namespace="EAPK_DDCC13C2_2E55_4e9c_882B_1E09FFC8A7DC" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
                <UML:ModelElement.taggedValue>
                  <UML:TaggedValue tag="documentation" value="This class implements an Accept operation that takes a Visitor as an argument."/>
                  <UML:TaggedValue tag="isSpecification" value="false"/>
                  <UML:TaggedValue tag="ea_stype" value="Class"/>
                  <UML:TaggedValue tag="ea_ntype" value="0"/>
                  <UML:TaggedValue tag="version" value="1.0"/>
                  <UML:TaggedValue tag="package" value="EAPK_DDCC13C2_2E55_4e9c_882B_1E09FFC8A7DC"/>
                  <UML:TaggedValue tag="date_created" value="2003-09-07 11:53:48"/>
                  <UML:TaggedValue tag="date_modified" value="2005-02-09 11:55:48"/>
                  <UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
                  <UML:TaggedValue tag="tagged" value="0"/>
                  <UML:TaggedValue tag="package_name" value="Visitor"/>
                  <UML:TaggedValue tag="phase" value="1.0"/>
                  <UML:TaggedValue tag="complexity" value="1"/>
                  <UML:TaggedValue tag="status" value="Proposed"/>
                  <UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
                </UML:ModelElement.taggedValue>
                <UML:Classifier.feature>
                  <UML:Operation name="Accept" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
                    <UML:ModelElement.taggedValue>
                      <UML:TaggedValue tag="type" value="void"/>
                      <UML:TaggedValue tag="const" value="false"/>
                      <UML:TaggedValue tag="behaviour" value="visitor.VisitConcreteElementA( this );"/>
                      <UML:TaggedValue tag="synchronised" value="0"/>
                      <UML:TaggedValue tag="concurrency" value="Sequential"/>
                      <UML:TaggedValue tag="position" value="0"/>
                      <UML:TaggedValue tag="returnarray" value="0"/>
                      <UML:TaggedValue tag="pure" value="0"/>
                      <UML:TaggedValue tag="ea_guid" value="{AE0E97C5-AF1A-4805-8E06-D45ED90F9F1B}"/>
                      <UML:TaggedValue tag="styleex" value="ShowBeh=0;"/>
                      <UML:TaggedValue tag="override" value="true" xmi.id="EAID_F41B2519_D373_406e_8C80_C373A6FF16F2"/>
                    </UML:ModelElement.taggedValue>
                    <UML:BehavioralFeature.parameter>
                      <UML:Parameter kind="return" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="eaxmiid0"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="void"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="ea_guid" value="{RETURNID-AF1A-4805-8E06-D45ED90F9F1B}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                      <UML:Parameter name="visitor" kind="in" visibility="public">
                        <UML:Parameter.type>
                          <UML:Classifier xmi.idref="EAID_53E9F12E_DD00_4677_8402_192C8C21D912"/>
                        </UML:Parameter.type>
                        <UML:ModelElement.taggedValue>
                          <UML:TaggedValue tag="pos" value="0"/>
                          <UML:TaggedValue tag="type" value="Visitor"/>
                          <UML:TaggedValue tag="const" value="0"/>
                          <UML:TaggedValue tag="classifier" value="EAID_53E9F12E_DD00_4677_8402_192C8C21D912"/>
                          <UML:TaggedValue tag="ea_guid" value="{CAE76E21-B961-4a60-BC51-17192D8FB88F}"/>
                        </UML:ModelElement.taggedValue>
                        <UML:Parameter.defaultValue>
                          <UML:Expression/>
                        </UML:Parameter.defaultValue>
                      </UML:Parameter>
                    </UML:BehavioralFeature.parameter>
                  </UML:Operation>
                </UML:Classifier.feature>
              </UML:Class>
            </UML:Namespace.ownedElement>
          </UML:Model>
          <UML:Diagram name="Visitor" xmi.id="EAID_284D777A_F232_4a7c_9A18_84AA276F0025" diagramType="ClassDiagram" owner="EAPK_284D777A_F232_4a7c_9A18_84AA276F0025" toolName="Enterprise Architect 2.5">
            <UML:ModelElement.taggedValue>
              <UML:TaggedValue tag="documentation" value="This pattern represents an operation to be performed on the elements of an object structure. It lets you define a new operation without changing the classes of the elements on which it operates."/>
              <UML:TaggedValue tag="version" value="1.0"/>
              <UML:TaggedValue tag="created_date" value="2004-12-14 13:32:36"/>
              <UML:TaggedValue tag="modified_date" value="2005-02-11 15:40:44"/>
              <UML:TaggedValue tag="package" value="EAPK_DDCC13C2_2E55_4e9c_882B_1E09FFC8A7DC"/>
              <UML:TaggedValue tag="type" value="Logical"/>
              <UML:TaggedValue tag="swimlanes" value="locked=false;orientation=0;width=0;inbar=false;names=false;color=0;bold=false;fcol=0;;cls=0;"/>
              <UML:TaggedValue tag="EAStyle" value="ShowPrivate=1;ShowProtected=1;ShowPublic=1;HideRelationships=0;Locked=0;Border=1;HighlightForeign=1;PackageContents=1;SequenceNotes=0;ScalePrintImage=0;PPgs.cx=0;PPgs.cy=0;DocSize.cx=780;DocSize.cy=1138;ShowDetails=0;Orientation=P;Zoom=100;ShowTags=0;OpParams=1;ShowIcons=1;CollabNums=0;HideProps=0;ShowReqs=0;ShowCons=0;PaperSize=9;HideParents=0;UseAlias=0;HideAtts=0;HideOps=0;HideStereo=0;HideElemStereo=0;ShowTests=0;ShowMaint=0;"/>
              <UML:TaggedValue tag="styleex" value="ExcludeRTF=0;DocAll=0;HideQuals=0;AttPkg=1;ShowTests=0;ShowMaint=0;SuppressFOC=0;TDurLow=0;TDurHigh=100;TDurUnit=;TDurHide=0;"/>
            </UML:ModelElement.taggedValue>
            <UML:Diagram.element>
              <UML:DiagramElement geometry="Left=240;Top=426;Right=375;Bottom=496;imgL=150;imgT=409;imgR=285;imgB=479;" subject="EAID_DEA9BB80_8DE9_458c_B052_74E23CAB6817" seqno="1" style="DUID=7D748EB3;LBL=;"/>
              <UML:DiagramElement geometry="Left=407;Top=173;Right=667;Bottom=243;imgL=317;imgT=156;imgR=577;imgB=226;" subject="EAID_C4D50004_6C11_44e6_A9BD_C64922183B67" seqno="2" style="DUID=EE7FC05D;LBL=;"/>
              <UML:DiagramElement geometry="Left=100;Top=172;Right=360;Bottom=242;imgL=10;imgT=155;imgR=270;imgB=225;" subject="EAID_D4BD41C0_132F_486c_997C_DF104096484E" seqno="3" style="DUID=89071AF2;LBL=;"/>
              <UML:DiagramElement geometry="Left=244;Top=27;Right=501;Bottom=97;imgL=154;imgT=10;imgR=411;imgB=80;" subject="EAID_53E9F12E_DD00_4677_8402_192C8C21D912" seqno="4" style="DUID=C482D394;LBL=;"/>
              <UML:DiagramElement geometry="Left=435;Top=426;Right=570;Bottom=496;imgL=345;imgT=409;imgR=480;imgB=479;" subject="EAID_95C7A137_5F00_4914_B8BD_BB9A05D66F07" seqno="5" style="DUID=0198662C;LBL=;"/>
              <UML:DiagramElement geometry="Left=332;Top=287;Right=468;Bottom=357;imgL=242;imgT=270;imgR=378;imgB=340;" subject="EAID_BFE06784_11DB_4bca_8690_A535CF7CB7B4" seqno="6" style="DUID=F0442A2F;LBL=;"/>
              <UML:DiagramElement geometry="Left=103;Top=284;Right=235;Bottom=363;imgL=13;imgT=267;imgR=145;imgB=346;" subject="EAID_370821B3_3D52_47aa_89AB_F6B580EFE6BF" seqno="7" style="DUID=7FE08963;LBL=;"/>
              <UML:DiagramElement geometry="SX=0;SY=0;EX=0;EY=0;EDGE=2;$LLB=;LLT=;LMT=;LMB=;LRT=CX=56:CY=15:OX=0:OY=0:HDN=0:BLD=0:ITA=0:UND=0:CLR=-1:ALN=0:DIR=0:ROT=0;LRB=CX=26:CY=15:OX=0:OY=0:HDN=0:BLD=0:ITA=0:UND=0:CLR=-1:ALN=0:DIR=0:ROT=0;Path=;" subject="EAID_FAC04386_050D_420a_92C3_E1F5BC0621B2" style="Mode=1;EOID=F0442A2F;SOID=7FE08963;Hidden=0;"/>
              <UML:DiagramElement geometry="SX=0;SY=0;EDGE=1;$LLB=;LLT=;LMT=;LMB=;LRT=;LRB=;Path=307:-407$400:-407$;" subject="EAID_9222F208_5E5A_4bd4_AE1A_3F5B7D2738FD" style="Mode=3;EOID=F0442A2F;SOID=7D748EB3;Hidden=0;"/>
              <UML:DiagramElement geometry="SX=0;SY=0;EDGE=1;$LLB=;LLT=;LMT=;LMB=;LRT=;LRB=;Path=502:-407$400:-407$;" subject="EAID_B3B5F0E7_4BD4_481d_B955_760995FE03D9" style="Mode=3;EOID=F0442A2F;SOID=0198662C;Hidden=0;"/>
              <UML:DiagramElement geometry="SX=0;SY=0;EDGE=1;$LLB=;LLT=;LMT=;LMB=;LRT=;LRB=;Path=537:-147$372:-147$;" subject="EAID_62D23CB8_85AE_4e6d_B3EC_F7BDBA2344FC" style="Mode=3;EOID=C482D394;SOID=EE7FC05D;Hidden=0;"/>
              <UML:DiagramElement geometry="SX=0;SY=0;EX=0;EY=0;EDGE=1;$LLB=;LLT=;LMT=;LMB=;LRT=;LRB=;Path=230:-147$372:-147$;" subject="EAID_4E42EE81_DC2D_49e3_A527_43F6153C538E" style="Mode=3;EOID=C482D394;SOID=89071AF2;Hidden=0;"/>
            </UML:Diagram.element>
          </UML:Diagram>
        </XMI.content>
        <XMI.difference/>
        <XMI.extensions xmi.extender="Enterprise Architect 2.5">
          <EAStub xmi.id="EAID_370821B3_3D52_47aa_89AB_F6B580EFE6BF" name="ObjectStructure" UMLType="Class"/>
          <EAStub xmi.id="EAID_BFE06784_11DB_4bca_8690_A535CF7CB7B4" name="Element" UMLType="Class"/>
          <EAStub xmi.id="EAID_DEA9BB80_8DE9_458c_B052_74E23CAB6817" name="ConcreteElementA" UMLType="Class"/>
          <EAStub xmi.id="EAID_95C7A137_5F00_4914_B8BD_BB9A05D66F07" name="ConcreteElementB" UMLType="Class"/>
          <EAStub xmi.id="EAID_D4BD41C0_132F_486c_997C_DF104096484E" name="ConcreteVisitor1" UMLType="Class"/>
          <EAStub xmi.id="EAID_53E9F12E_DD00_4677_8402_192C8C21D912" name="Visitor" UMLType="Class"/>
          <EAStub xmi.id="EAID_C4D50004_6C11_44e6_A9BD_C64922183B67" name="ConcreteVisitor2" UMLType="Class"/>
          <UMLPattern name="Visitor" category="GoF Behavioral Patterns" version="1.0" notes="This pattern represents an operation to be performed on the elements of an object structure. It lets you define a new operation without changing the classes of the elements on which it operates.">
            <UMLPattern.PromptList>
              <Element name="ConcreteElementA:Class" guid="EAID_DEA9BB80_8DE9_458c_B052_74E23CAB6817" id="628" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class implements an Accept operation that takes a Visitor as an argument.">
                  <![CDATA[This class implements an Accept operation that takes a Visitor as an argument.]]>
                </Comment>
              </Element>
              <Element name="ConcreteVisitor2:Class" guid="EAID_C4D50004_6C11_44e6_A9BD_C64922183B67" id="632" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class implements each operation declared by Visitor. Each operation implements a fragment of the algorithm defined for the corresponding class of object in the structure. ConcreteVisitor provides the context for the algorithm and stores its local state. This state often accumulates results during the traversal of the structure.">
                  <![CDATA[This class implements each operation declared by Visitor. Each operation implements a fragment of the algorithm defined for the corresponding class of object in the structure. ConcreteVisitor provides the context for the algorithm and stores its local state. This state often accumulates results during the traversal of the structure.]]>
                </Comment>
              </Element>
              <Element name="ConcreteVisitor1:Class" guid="EAID_D4BD41C0_132F_486c_997C_DF104096484E" id="631" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class implements each operation declared by Visitor. Each operation implements a fragment of the algorithm defined for the corresponding class of object in the structure. ConcreteVisitor provides the context for the algorithm and stores its local state. This state often accumulates results during the traversal of the structure.">
                  <![CDATA[This class implements each operation declared by Visitor. Each operation implements a fragment of the algorithm defined for the corresponding class of object in the structure. ConcreteVisitor provides the context for the algorithm and stores its local state. This state often accumulates results during the traversal of the structure.]]>
                </Comment>
              </Element>
              <Element name="Visitor:Class" guid="EAID_53E9F12E_DD00_4677_8402_192C8C21D912" id="630" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class declares a Visit operation for each class of ConcreteElement in the object structure. The operation's name and signature identifies the class that sends the Visit request to the visitor. That lets the visitor determine the concrete class of the element being visited. Then the visitor can access the element directly through its particular interface.">
                  <![CDATA[This class declares a Visit operation for each class of ConcreteElement in the object structure. The operation's name and signature identifies the class that sends the Visit request to the visitor. That lets the visitor determine the concrete class of the element being visited. Then the visitor can access the element directly through its particular interface.]]>
                </Comment>
              </Element>
              <Element name="ConcreteElementB:Class" guid="EAID_95C7A137_5F00_4914_B8BD_BB9A05D66F07" id="629" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class implements an Accept operation that takes a Visitor as an argument.">
                  <![CDATA[This class implements an Accept operation that takes a Visitor as an argument.]]>
                </Comment>
              </Element>
              <Element name="Element:Class" guid="EAID_BFE06784_11DB_4bca_8690_A535CF7CB7B4" id="627" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class defines an Accept operation that takes a visitor as an argument.">
                  <![CDATA[This class defines an Accept operation that takes a visitor as an argument.]]>
                </Comment>
              </Element>
              <Element name="ObjectStructure:Class" guid="EAID_370821B3_3D52_47aa_89AB_F6B580EFE6BF" id="626" prompt="yes" link="yes" classifier="no" type="no">
                <Comment comment="This class can enumerate its elements, may provide a high-level interface to allow the visitor to visit its elements and may either be a composite or a collection such as a list or a set.">
                  <![CDATA[This class can enumerate its elements, may provide a high-level interface to allow the visitor to visit its elements and may either be a composite or a collection such as a list or a set.]]>
                </Comment>
              </Element>
            </UMLPattern.PromptList>
            <UMLPattern.PreviewImage xmlns:dt="urn:schemas-microsoft-com:datatypes" dt:dt="bin.base64" cx="16509" cy="13848">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 AAABAAAAAADhQQCQ4sG4AQAAM/7//wIAAABMAAAAAAAAAAAAAAAAAAAA//////////9QAAAA KwAgAAYAAAADAAAAVAAAANAAAABvAQAAvAEAAM8BAADIAQAAAQAAAAAA4UEAkOLByQEAADP+ //8WAAAATAAAAAAAAAAAAAAAAAAAAP//////////eAAAAEEAYwBjAGUAcAB0ACgAVgBpAHMA aQB0AG8AcgApACAAOgAgAHYAbwBpAGQABwAAAAUAAAAFAAAABgAAAAYAAAADAAAAAwAAAAcA AAADAAAABAAAAAMAAAADAAAABgAAAAMAAAADAAAAAwAAAAMAAAADAAAABQAAAAYAAAADAAAA BgAAABgAAAAMAAAAAAAAACcAAAAYAAAACAAAAAAAAADAv8AAAAAAACUAAAAMAAAACAAAACYA AAAcAAAABwAAAAAAAAABAAAAAAAAAMC/wAAlAAAADAAAAAcAAAArAAAAGAAAAPcAAADi//// 9wEAAJ3///8lAAAADAAAAAIAAAAoAAAADAAAAAgAAAAlAAAADAAAAAMAAAAoAAAADAAAAAcA AAArAAAAGAAAAPQAAADl////9AEAAKD///8lAAAADAAAAAYAAABUAAAAeAAAAAoBAAATAAAA KgEAAB0AAAABAAAAAADhQQCQ4sFkAQAA3P///wcAAABMAAAAAAAAAAAAAAAAAAAA//////// //9cAAAAVgBpAHMAaQB0AG8AcgCAAAcAAAADAAAABgAAAAMAAAADAAAABgAAAAQAAAAlAAAA DAAAAAEAAAAbAAAAEAAAAPQAAADK////NgAAABAAAAD0AQAAyv///xgAAAAMAAAAAACAABgA AAAMAAAAAAAAABgAAAAMAAAAAEBAAFQAAABYAAAAnwAAAC0AAACoAAAAOQAAAAEAAAAAAOFB AJDiwfkAAADC////AgAAAEwAAAAAAAAAAAAAAAAAAAD//////////1AAAAArACAABgAAAAMA AAAlAAAADAAAAAQAAABUAAAAYAEAALAAAAAtAAAAlgEAADkAAAABAAAAAADhQQCQ4sEKAQAA wv///y4AAABMAAAAAAAAAAAAAAAAAAAA//////////+oAAAAVgBpAHMAaQB0AEMAbwBuAGMA cgBlAHQAZQBFAGwAZQBtAGUAbgB0AEEAKABDAG8AbgBjAHIAZQB0AGUARQBsAGUAbQBlAG4A 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 OgAgAHYAbwBpAGQABwAAAAMAAAAEAAAAAwAAAAMAAAAHAAAABgAAAAYAAAAFAAAAAwAAAAYA AAADAAAABgAAAAcAAAADAAAABgAAAAkAAAAGAAAABgAAAAMAAAAHAAAAAwAAAAcAAAAGAAAA BgAAAAUAAAADAAAABgAAAAMAAAAGAAAABwAAAAMAAAAGAAAACQAAAAYAAAAGAAAAAwAAAAcA AAADAAAAAwAAAAMAAAADAAAABQAAAAYAAAADAAAABgAAABgAAAAMAAAAAAAAACcAAAAYAAAA CAAAAAAAAADAv8AAAAAAACUAAAAMAAAACAAAACYAAAAcAAAABwAAAAAAAAABAAAAAAAAAMC/ wAAlAAAADAAAAAcAAAArAAAAGAAAAJoBAABQ////nQIAAAv///8lAAAADAAAAAIAAAAoAAAA DAAAAAgAAAAlAAAADAAAAAMAAAAoAAAADAAAAAcAAAArAAAAGAAAAJcBAABT////mgIAAA7/ //8lAAAADAAAAAUAAABUAAAArAAAAJYBAAClAAAA6AEAALAAAAABAAAAAADhQQCQ4sHwAQAA Sv///xAAAABMAAAAAAAAAAAAAAAAAAAA//////////9sAAAAQwBvAG4AYwByAGUAdABlAFYA aQBzAGkAdABvAHIAMgAHAAAABgAAAAYAAAAGAAAABAAAAAYAAAADAAAABgAAAAcAAAADAAAA BgAAAAMAAAADAAAABgAAAAQAAAAGAAAAJQAAAAwAAAABAAAAGwAAABAAAACXAQAAOP///zYA AAAQAAAAmgIAADj///8YAAAADAAAAAAAgAAYAAAADAAAAAAAAAAYAAAADAAAAABAQABUAAAA WAAAAEIBAAC/AAAASwEAAMsAAAABAAAAAADhQQCQ4sGcAQAAMP///wIAAABMAAAAAAAAAAAA AAAAAAAA//////////9QAAAAKwAgAAYAAAADAAAAVAAAAGABAABTAQAAvwAAADwCAADLAAAA AQAAAAAA4UEAkOLBrQEAADD///8uAAAATAAAAAAAAAAAAAAAAAAAAP//////////qAAAAFYA aQBzAGkAdABDAG8AbgBjAHIAZQB0AGUARQBsAGUAbQBlAG4AdABBACgAQwBvAG4AYwByAGUA dABlAEUAbABlAG0AZQBuAHQAQQApACAAOgAgAHYAbwBpAGQABwAAAAMAAAAEAAAAAwAAAAMA AAAHAAAABgAAAAYAAAAFAAAAAwAAAAYAAAADAAAABgAAAAcAAAADAAAABgAAAAkAAAAGAAAA BgAAAAMAAAAHAAAAAwAAAAcAAAAGAAAABgAAAAUAAAADAAAABgAAAAMAAAAGAAAABwAAAAMA AAAGAAAACQAAAAYAAAAGAAAAAwAAAAcAAAADAAAAAwAAAAMAAAADAAAABQAAAAYAAAADAAAA BgAAAFQAAABYAAAAQgEAAMwAAABLAQAA2AAAAAEAAAAAAOFBAJDiwZwBAAAj////AgAAAEwA AAAAAAAAAAAAAAAAAAD//////////1AAAAArACAABgAAAAMAAABUAAAAYAEAAFMBAADMAAAA PAIAANgAAAABAAAAAADhQQCQ4sGtAQAAI////y4AAABMAAAAAAAAAAAAAAAAAAAA//////// //+oAAAAVgBpAHMAaQB0AEMAbwBuAGMAcgBlAHQAZQBFAGwAZQBtAGUAbgB0AEIAKABDAG8A bgBjAHIAZQB0AGUARQBsAGUAbQBlAG4AdABCACkAIAA6ACAAdgBvAGkAZAAHAAAAAwAAAAQA AAADAAAAAwAAAAcAAAAGAAAABgAAAAUAAAADAAAABgAAAAMAAAAGAAAABwAAAAMAAAAGAAAA CQAAAAYAAAAGAAAAAwAAAAcAAAADAAAABwAAAAYAAAAGAAAABQAAAAMAAAAGAAAAAwAAAAYA AAAHAAAAAwAAAAYAAAAJAAAABgAAAAYAAAADAAAABwAAAAMAAAADAAAAAwAAAAMAAAAFAAAA BgAAAAMAAAAGAAAAGAAAAAwAAAAAAAAAJwAAABgAAAAHAAAAAAAAAMC/wAAAAAAAJQAAAAwA AAAHAAAAJgAAABwAAAAIAAAAAAAAAAEAAAAAAAAAwL/AACUAAAAMAAAACAAAACsAAAAYAAAA 8wAAAFP+//95AQAADv7//yUAAAAMAAAAAgAAACgAAAAMAAAABwAAACUAAAAMAAAAAwAAACgA AAAMAAAACAAAACsAAAAYAAAA8AAAAFb+//92AQAAEf7//yUAAAAMAAAABQAAAFQAAACsAAAA rAAAAKIBAAAHAQAArQEAAAEAAAAAAOFBAJDiwQYBAABN/v//EAAAAEwAAAAAAAAAAAAAAAAA AAD//////////2wAAABDAG8AbgBjAHIAZQB0AGUARQBsAGUAbQBlAG4AdABBAAcAAAAGAAAA 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</UMLPattern.PreviewImage>
          </UMLPattern>
        </XMI.extensions>
      </XMI>
    </UMLPattern>
  </UMLPatterns>
  <UIToolboxes>
    <UMLProfile profiletype="uml2">
      <Documentation id="C09C524D-7" name="GoF Patterns" version="1.0" notes="GoF Patterns"/>
      <Content>
        <Stereotypes>
          <Stereotype name="GoF Behavioral Patterns" notes="">
            <AppliesTo>
              <Apply type="ToolboxPage"/>
            </AppliesTo>
            <TaggedValues>
              <Tag name="GoF::Chain of Responsibility(UMLPattern)" type="" description="" unit="" values="" default="Chain of Responsibility"/>
              <Tag name="GoF::Command(UMLPattern)" type="" description="" unit="" values="" default="Command"/>
              <Tag name="GoF::Interpreter(UMLPattern)" type="" description="" unit="" values="" default="Interpreter"/>
              <Tag name="GoF::Iterator(UMLPattern)" type="" description="" unit="" values="" default="Iterator"/>
              <Tag name="GoF::Mediator(UMLPattern)" type="" description="" unit="" values="" default="Mediator"/>
              <Tag name="GoF::Memento(UMLPattern)" type="" description="" unit="" values="" default="Memento"/>
              <Tag name="GoF::Observer(UMLPattern)" type="" description="" unit="" values="" default="Observer"/>
              <Tag name="GoF::State(UMLPattern)" type="" description="" unit="" values="" default="State"/>
              <Tag name="GoF::Strategy(UMLPattern)" type="" description="" unit="" values="" default="Strategy"/>
              <Tag name="GoF::Template Method(UMLPattern)" type="" description="" unit="" values="" default="Template Method"/>
              <Tag name="GoF::Visitor(UMLPattern)" type="" description="" unit="" values="" default="Visitor"/>
            </TaggedValues>
          </Stereotype>
          <Stereotype name="GoF Creational Patterns" notes="">
            <AppliesTo>
              <Apply type="ToolboxPage"/>
            </AppliesTo>
            <TaggedValues>
              <Tag name="GoF::Abstract Factory(UMLPattern)" type="" description="" unit="" values="" default="Abstract Factory"/>
              <Tag name="GoF::Builder(UMLPattern)" type="" description="" unit="" values="" default="Builder"/>
              <Tag name="GoF::Factory Method(UMLPattern)" type="" description="" unit="" values="" default="Factory Method"/>
              <Tag name="GoF::Prototype(UMLPattern)" type="" description="" unit="" values="" default="Prototype"/>
              <Tag name="GoF::Singleton(UMLPattern)" type="" description="" unit="" values="" default="Singleton"/>
            </TaggedValues>
          </Stereotype>
          <Stereotype name="GoF Structural Patterns" notes="">
            <AppliesTo>
              <Apply type="ToolboxPage"/>
            </AppliesTo>
            <TaggedValues>
              <Tag name="GoF::Adapter(UMLPattern)" type="" description="" unit="" values="" default="Adapter"/>
              <Tag name="GoF::Bridge(UMLPattern)" type="" description="" unit="" values="" default="Bridge"/>
              <Tag name="GoF::Composite(UMLPattern)" type="" description="" unit="" values="" default="Composite"/>
              <Tag name="GoF::Decorator(UMLPattern)" type="" description="" unit="" values="" default="Decorator"/>
              <Tag name="GoF::Facade(UMLPattern)" type="" description="" unit="" values="" default="Facade"/>
              <Tag name="GoF::Flyweight(UMLPattern)" type="" description="" unit="" values="" default="Flyweight"/>
              <Tag name="GoF::Proxy(UMLPattern)" type="" description="" unit="" values="" default="Proxy"/>
            </TaggedValues>
          </Stereotype>
          <Stereotype name="GoF::Interpreter(UMLPattern)" notes="">
            <Icon type="bitmap" xmlns:dt="urn:schemas-microsoft-com:datatypes" dt:dt="bin.base64">
              Qk02AwAAAAAAADYAAAAoAAAAEAAAABAAAAABABgAAAAAAAADAAATCwAAEwsAAAAAAAAAAAAA
              wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA
              wMDAzJmZzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzwMDAwMDAwMDAwMDAzJmZ
              8Mqm8Mqm8Mqm8Mqm8MqmAAD/8Mqm8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAzJmZ////////
              8Mqm8MqmAAD/AAD/mTMz8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAzJmZ////////////8Mqm
              AJn/M///mTMz8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAAACAzJmZ////////8MqmM///M///
              M///8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAAACAAACAgAAAzJmZ////////8MqmM///8MqmAAD/
              8Mqm8MqmzGYzwMDAwMDAAACAAAD/AACA/wAAgAAAzJmZ////////8MqmAAD/AAD/mTMz8Mqm
              zGYzwMDAwMDAAAD/AAD/AJn//wAAgAAAzJmZ////////8MqmAJn/M///mTMz8MqmzGYzwMDA
              wMDAAAD/AJn/M///gICAgAAAzJmZ////////8MqmM///M///M///8MqmzGYzwMDAwMDAAJn/
              M///M///M///ZmZmzJmZ////8MqmAAD/8MqmM///8Mqm8MqmzGYzwMDAwMDAwMDAM///M///
              M///zJmZ////8MqmAAD/AAD/mTMz8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAM///zJmZ////
              ////8MqmAJn/M///mTMzzJmZzGYzzGYzzGYzwMDAwMDAwMDAwMDAzJmZ////////////8Mqm
              M///M///M///zJmZ////zJmZwMDAwMDAwMDAwMDAwMDAzJmZ////////////////8MqmM///
              8MqmzJmZzJmZwMDAwMDAwMDAwMDAwMDAwMDAzJmZzJmZzJmZzJmZzJmZzJmZzJmZzJmZzJmZ
              wMDAwMDAwMDAwMDArboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26
              DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3w
              rboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26
              DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCt
              ug==
            </Icon>
            <AppliesTo>
              <Apply type="ToolboxItemImage"/>
            </AppliesTo>
          </Stereotype>
          <Stereotype name="GoF::Chain of Responsibility(UMLPattern)" notes="">
            <Icon type="bitmap" xmlns:dt="urn:schemas-microsoft-com:datatypes" dt:dt="bin.base64">
              Qk02AwAAAAAAADYAAAAoAAAAEAAAABAAAAABABgAAAAAAAADAAATCwAAEwsAAAAAAAAAAAAA
              wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA
              wMDAzJmZzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzwMDAwMDAwMDAwMDAzJmZ
              8Mqm8Mqm8Mqm8Mqm8MqmAAD/8Mqm8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAzJmZ////////
              8Mqm8MqmAAD/AAD/mTMz8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAzJmZ////////////8Mqm
              AJn/M///mTMz8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAAACAzJmZ////////8MqmM///M///
              M///8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAAACAAACAgAAAzJmZ////////8MqmM///8MqmAAD/
              8Mqm8MqmzGYzwMDAwMDAAACAAAD/AACA/wAAgAAAzJmZ////////8MqmAAD/AAD/mTMz8Mqm
              zGYzwMDAwMDAAAD/AAD/AJn//wAAgAAAzJmZ////////8MqmAJn/M///mTMz8MqmzGYzwMDA
              wMDAAAD/AJn/M///gICAgAAAzJmZ////////8MqmM///M///M///8MqmzGYzwMDAwMDAAJn/
              M///M///M///ZmZmzJmZ////8MqmAAD/8MqmM///8Mqm8MqmzGYzwMDAwMDAwMDAM///M///
              M///zJmZ////8MqmAAD/AAD/mTMz8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAM///zJmZ////
              ////8MqmAJn/M///mTMzzJmZzGYzzGYzzGYzwMDAwMDAwMDAwMDAzJmZ////////////8Mqm
              M///M///M///zJmZ////zJmZwMDAwMDAwMDAwMDAwMDAzJmZ////////////////8MqmM///
              8MqmzJmZzJmZwMDAwMDAwMDAwMDAwMDAwMDAzJmZzJmZzJmZzJmZzJmZzJmZzJmZzJmZzJmZ
              wMDAwMDAwMDAwMDArboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26
              DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3w
              rboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26
              DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCt
              ug==
            </Icon>
            <AppliesTo>
              <Apply type="ToolboxItemImage"/>
            </AppliesTo>
          </Stereotype>
          <Stereotype name="GoF::Command(UMLPattern)" notes="">
            <Icon type="bitmap" xmlns:dt="urn:schemas-microsoft-com:datatypes" dt:dt="bin.base64">
              Qk02AwAAAAAAADYAAAAoAAAAEAAAABAAAAABABgAAAAAAAADAAATCwAAEwsAAAAAAAAAAAAA
              wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA
              wMDAzJmZzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzwMDAwMDAwMDAwMDAzJmZ
              8Mqm8Mqm8Mqm8Mqm8MqmAAD/8Mqm8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAzJmZ////////
              8Mqm8MqmAAD/AAD/mTMz8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAzJmZ////////////8Mqm
              AJn/M///mTMz8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAAACAzJmZ////////8MqmM///M///
              M///8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAAACAAACAgAAAzJmZ////////8MqmM///8MqmAAD/
              8Mqm8MqmzGYzwMDAwMDAAACAAAD/AACA/wAAgAAAzJmZ////////8MqmAAD/AAD/mTMz8Mqm
              zGYzwMDAwMDAAAD/AAD/AJn//wAAgAAAzJmZ////////8MqmAJn/M///mTMz8MqmzGYzwMDA
              wMDAAAD/AJn/M///gICAgAAAzJmZ////////8MqmM///M///M///8MqmzGYzwMDAwMDAAJn/
              M///M///M///ZmZmzJmZ////8MqmAAD/8MqmM///8Mqm8MqmzGYzwMDAwMDAwMDAM///M///
              M///zJmZ////8MqmAAD/AAD/mTMz8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAM///zJmZ////
              ////8MqmAJn/M///mTMzzJmZzGYzzGYzzGYzwMDAwMDAwMDAwMDAzJmZ////////////8Mqm
              M///M///M///zJmZ////zJmZwMDAwMDAwMDAwMDAwMDAzJmZ////////////////8MqmM///
              8MqmzJmZzJmZwMDAwMDAwMDAwMDAwMDAwMDAzJmZzJmZzJmZzJmZzJmZzJmZzJmZzJmZzJmZ
              wMDAwMDAwMDAwMDArboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26
              DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3w
              rboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26
              DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCt
              ug==
            </Icon>
            <AppliesTo>
              <Apply type="ToolboxItemImage"/>
            </AppliesTo>
          </Stereotype>
          <Stereotype name="GoF::Iterator(UMLPattern)" notes="">
            <Icon type="bitmap" xmlns:dt="urn:schemas-microsoft-com:datatypes" dt:dt="bin.base64">
              Qk02AwAAAAAAADYAAAAoAAAAEAAAABAAAAABABgAAAAAAAADAAATCwAAEwsAAAAAAAAAAAAA
              wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA
              wMDAzJmZzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzwMDAwMDAwMDAwMDAzJmZ
              8Mqm8Mqm8Mqm8Mqm8MqmAAD/8Mqm8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAzJmZ////////
              8Mqm8MqmAAD/AAD/mTMz8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAzJmZ////////////8Mqm
              AJn/M///mTMz8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAAACAzJmZ////////8MqmM///M///
              M///8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAAACAAACAgAAAzJmZ////////8MqmM///8MqmAAD/
              8Mqm8MqmzGYzwMDAwMDAAACAAAD/AACA/wAAgAAAzJmZ////////8MqmAAD/AAD/mTMz8Mqm
              zGYzwMDAwMDAAAD/AAD/AJn//wAAgAAAzJmZ////////8MqmAJn/M///mTMz8MqmzGYzwMDA
              wMDAAAD/AJn/M///gICAgAAAzJmZ////////8MqmM///M///M///8MqmzGYzwMDAwMDAAJn/
              M///M///M///ZmZmzJmZ////8MqmAAD/8MqmM///8Mqm8MqmzGYzwMDAwMDAwMDAM///M///
              M///zJmZ////8MqmAAD/AAD/mTMz8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAM///zJmZ////
              ////8MqmAJn/M///mTMzzJmZzGYzzGYzzGYzwMDAwMDAwMDAwMDAzJmZ////////////8Mqm
              M///M///M///zJmZ////zJmZwMDAwMDAwMDAwMDAwMDAzJmZ////////////////8MqmM///
              8MqmzJmZzJmZwMDAwMDAwMDAwMDAwMDAwMDAzJmZzJmZzJmZzJmZzJmZzJmZzJmZzJmZzJmZ
              wMDAwMDAwMDAwMDArboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26
              DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3w
              rboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26
              DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCt
              ug==
            </Icon>
            <AppliesTo>
              <Apply type="ToolboxItemImage"/>
            </AppliesTo>
          </Stereotype>
          <Stereotype name="GoF::Mediator(UMLPattern)" notes="">
            <Icon type="bitmap" xmlns:dt="urn:schemas-microsoft-com:datatypes" dt:dt="bin.base64">
              Qk02AwAAAAAAADYAAAAoAAAAEAAAABAAAAABABgAAAAAAAADAAATCwAAEwsAAAAAAAAAAAAA
              wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA
              wMDAzJmZzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzwMDAwMDAwMDAwMDAzJmZ
              8Mqm8Mqm8Mqm8Mqm8MqmAAD/8Mqm8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAzJmZ////////
              8Mqm8MqmAAD/AAD/mTMz8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAzJmZ////////////8Mqm
              AJn/M///mTMz8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAAACAzJmZ////////8MqmM///M///
              M///8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAAACAAACAgAAAzJmZ////////8MqmM///8MqmAAD/
              8Mqm8MqmzGYzwMDAwMDAAACAAAD/AACA/wAAgAAAzJmZ////////8MqmAAD/AAD/mTMz8Mqm
              zGYzwMDAwMDAAAD/AAD/AJn//wAAgAAAzJmZ////////8MqmAJn/M///mTMz8MqmzGYzwMDA
              wMDAAAD/AJn/M///gICAgAAAzJmZ////////8MqmM///M///M///8MqmzGYzwMDAwMDAAJn/
              M///M///M///ZmZmzJmZ////8MqmAAD/8MqmM///8Mqm8MqmzGYzwMDAwMDAwMDAM///M///
              M///zJmZ////8MqmAAD/AAD/mTMz8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAM///zJmZ////
              ////8MqmAJn/M///mTMzzJmZzGYzzGYzzGYzwMDAwMDAwMDAwMDAzJmZ////////////8Mqm
              M///M///M///zJmZ////zJmZwMDAwMDAwMDAwMDAwMDAzJmZ////////////////8MqmM///
              8MqmzJmZzJmZwMDAwMDAwMDAwMDAwMDAwMDAzJmZzJmZzJmZzJmZzJmZzJmZzJmZzJmZzJmZ
              wMDAwMDAwMDAwMDArboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26
              DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3w
              rboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26
              DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCt
              ug==
            </Icon>
            <AppliesTo>
              <Apply type="ToolboxItemImage"/>
            </AppliesTo>
          </Stereotype>
          <Stereotype name="GoF::Memento(UMLPattern)" notes="">
            <Icon type="bitmap" xmlns:dt="urn:schemas-microsoft-com:datatypes" dt:dt="bin.base64">
              Qk02AwAAAAAAADYAAAAoAAAAEAAAABAAAAABABgAAAAAAAADAAATCwAAEwsAAAAAAAAAAAAA
              wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA
              wMDAzJmZzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzwMDAwMDAwMDAwMDAzJmZ
              8Mqm8Mqm8Mqm8Mqm8MqmAAD/8Mqm8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAzJmZ////////
              8Mqm8MqmAAD/AAD/mTMz8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAzJmZ////////////8Mqm
              AJn/M///mTMz8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAAACAzJmZ////////8MqmM///M///
              M///8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAAACAAACAgAAAzJmZ////////8MqmM///8MqmAAD/
              8Mqm8MqmzGYzwMDAwMDAAACAAAD/AACA/wAAgAAAzJmZ////////8MqmAAD/AAD/mTMz8Mqm
              zGYzwMDAwMDAAAD/AAD/AJn//wAAgAAAzJmZ////////8MqmAJn/M///mTMz8MqmzGYzwMDA
              wMDAAAD/AJn/M///gICAgAAAzJmZ////////8MqmM///M///M///8MqmzGYzwMDAwMDAAJn/
              M///M///M///ZmZmzJmZ////8MqmAAD/8MqmM///8Mqm8MqmzGYzwMDAwMDAwMDAM///M///
              M///zJmZ////8MqmAAD/AAD/mTMz8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAM///zJmZ////
              ////8MqmAJn/M///mTMzzJmZzGYzzGYzzGYzwMDAwMDAwMDAwMDAzJmZ////////////8Mqm
              M///M///M///zJmZ////zJmZwMDAwMDAwMDAwMDAwMDAzJmZ////////////////8MqmM///
              8MqmzJmZzJmZwMDAwMDAwMDAwMDAwMDAwMDAzJmZzJmZzJmZzJmZzJmZzJmZzJmZzJmZzJmZ
              wMDAwMDAwMDAwMDArboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26
              DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3w
              rboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26
              DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCt
              ug==
            </Icon>
            <AppliesTo>
              <Apply type="ToolboxItemImage"/>
            </AppliesTo>
          </Stereotype>
          <Stereotype name="GoF::Observer(UMLPattern)" notes="">
            <Icon type="bitmap" xmlns:dt="urn:schemas-microsoft-com:datatypes" dt:dt="bin.base64">
              Qk02AwAAAAAAADYAAAAoAAAAEAAAABAAAAABABgAAAAAAAADAAATCwAAEwsAAAAAAAAAAAAA
              wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA
              wMDAzJmZzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzwMDAwMDAwMDAwMDAzJmZ
              8Mqm8Mqm8Mqm8Mqm8MqmAAD/8Mqm8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAzJmZ////////
              8Mqm8MqmAAD/AAD/mTMz8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAzJmZ////////////8Mqm
              AJn/M///mTMz8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAAACAzJmZ////////8MqmM///M///
              M///8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAAACAAACAgAAAzJmZ////////8MqmM///8MqmAAD/
              8Mqm8MqmzGYzwMDAwMDAAACAAAD/AACA/wAAgAAAzJmZ////////8MqmAAD/AAD/mTMz8Mqm
              zGYzwMDAwMDAAAD/AAD/AJn//wAAgAAAzJmZ////////8MqmAJn/M///mTMz8MqmzGYzwMDA
              wMDAAAD/AJn/M///gICAgAAAzJmZ////////8MqmM///M///M///8MqmzGYzwMDAwMDAAJn/
              M///M///M///ZmZmzJmZ////8MqmAAD/8MqmM///8Mqm8MqmzGYzwMDAwMDAwMDAM///M///
              M///zJmZ////8MqmAAD/AAD/mTMz8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAM///zJmZ////
              ////8MqmAJn/M///mTMzzJmZzGYzzGYzzGYzwMDAwMDAwMDAwMDAzJmZ////////////8Mqm
              M///M///M///zJmZ////zJmZwMDAwMDAwMDAwMDAwMDAzJmZ////////////////8MqmM///
              8MqmzJmZzJmZwMDAwMDAwMDAwMDAwMDAwMDAzJmZzJmZzJmZzJmZzJmZzJmZzJmZzJmZzJmZ
              wMDAwMDAwMDAwMDArboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26
              DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3w
              rboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26
              DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCt
              ug==
            </Icon>
            <AppliesTo>
              <Apply type="ToolboxItemImage"/>
            </AppliesTo>
          </Stereotype>
          <Stereotype name="GoF::State(UMLPattern)" notes="">
            <Icon type="bitmap" xmlns:dt="urn:schemas-microsoft-com:datatypes" dt:dt="bin.base64">
              Qk02AwAAAAAAADYAAAAoAAAAEAAAABAAAAABABgAAAAAAAADAAATCwAAEwsAAAAAAAAAAAAA
              wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA
              wMDAzJmZzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzwMDAwMDAwMDAwMDAzJmZ
              8Mqm8Mqm8Mqm8Mqm8MqmAAD/8Mqm8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAzJmZ////////
              8Mqm8MqmAAD/AAD/mTMz8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAzJmZ////////////8Mqm
              AJn/M///mTMz8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAAACAzJmZ////////8MqmM///M///
              M///8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAAACAAACAgAAAzJmZ////////8MqmM///8MqmAAD/
              8Mqm8MqmzGYzwMDAwMDAAACAAAD/AACA/wAAgAAAzJmZ////////8MqmAAD/AAD/mTMz8Mqm
              zGYzwMDAwMDAAAD/AAD/AJn//wAAgAAAzJmZ////////8MqmAJn/M///mTMz8MqmzGYzwMDA
              wMDAAAD/AJn/M///gICAgAAAzJmZ////////8MqmM///M///M///8MqmzGYzwMDAwMDAAJn/
              M///M///M///ZmZmzJmZ////8MqmAAD/8MqmM///8Mqm8MqmzGYzwMDAwMDAwMDAM///M///
              M///zJmZ////8MqmAAD/AAD/mTMz8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAM///zJmZ////
              ////8MqmAJn/M///mTMzzJmZzGYzzGYzzGYzwMDAwMDAwMDAwMDAzJmZ////////////8Mqm
              M///M///M///zJmZ////zJmZwMDAwMDAwMDAwMDAwMDAzJmZ////////////////8MqmM///
              8MqmzJmZzJmZwMDAwMDAwMDAwMDAwMDAwMDAzJmZzJmZzJmZzJmZzJmZzJmZzJmZzJmZzJmZ
              wMDAwMDAwMDAwMDArboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26
              DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3w
              rboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26
              DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCt
              ug==
            </Icon>
            <AppliesTo>
              <Apply type="ToolboxItemImage"/>
            </AppliesTo>
          </Stereotype>
          <Stereotype name="GoF::Strategy(UMLPattern)" notes="">
            <Icon type="bitmap" xmlns:dt="urn:schemas-microsoft-com:datatypes" dt:dt="bin.base64">
              Qk02AwAAAAAAADYAAAAoAAAAEAAAABAAAAABABgAAAAAAAADAAATCwAAEwsAAAAAAAAAAAAA
              wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA
              wMDAzJmZzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzwMDAwMDAwMDAwMDAzJmZ
              8Mqm8Mqm8Mqm8Mqm8MqmAAD/8Mqm8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAzJmZ////////
              8Mqm8MqmAAD/AAD/mTMz8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAzJmZ////////////8Mqm
              AJn/M///mTMz8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAAACAzJmZ////////8MqmM///M///
              M///8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAAACAAACAgAAAzJmZ////////8MqmM///8MqmAAD/
              8Mqm8MqmzGYzwMDAwMDAAACAAAD/AACA/wAAgAAAzJmZ////////8MqmAAD/AAD/mTMz8Mqm
              zGYzwMDAwMDAAAD/AAD/AJn//wAAgAAAzJmZ////////8MqmAJn/M///mTMz8MqmzGYzwMDA
              wMDAAAD/AJn/M///gICAgAAAzJmZ////////8MqmM///M///M///8MqmzGYzwMDAwMDAAJn/
              M///M///M///ZmZmzJmZ////8MqmAAD/8MqmM///8Mqm8MqmzGYzwMDAwMDAwMDAM///M///
              M///zJmZ////8MqmAAD/AAD/mTMz8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAM///zJmZ////
              ////8MqmAJn/M///mTMzzJmZzGYzzGYzzGYzwMDAwMDAwMDAwMDAzJmZ////////////8Mqm
              M///M///M///zJmZ////zJmZwMDAwMDAwMDAwMDAwMDAzJmZ////////////////8MqmM///
              8MqmzJmZzJmZwMDAwMDAwMDAwMDAwMDAwMDAzJmZzJmZzJmZzJmZzJmZzJmZzJmZzJmZzJmZ
              wMDAwMDAwMDAwMDArboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26
              DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3w
              rboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26
              DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCt
              ug==
            </Icon>
            <AppliesTo>
              <Apply type="ToolboxItemImage"/>
            </AppliesTo>
          </Stereotype>
          <Stereotype name="GoF::Template Method(UMLPattern)" notes="">
            <Icon type="bitmap" xmlns:dt="urn:schemas-microsoft-com:datatypes" dt:dt="bin.base64">
              Qk02AwAAAAAAADYAAAAoAAAAEAAAABAAAAABABgAAAAAAAADAAATCwAAEwsAAAAAAAAAAAAA
              wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA
              wMDAzJmZzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzwMDAwMDAwMDAwMDAzJmZ
              8Mqm8Mqm8Mqm8Mqm8MqmAAD/8Mqm8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAzJmZ////////
              8Mqm8MqmAAD/AAD/mTMz8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAzJmZ////////////8Mqm
              AJn/M///mTMz8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAAACAzJmZ////////8MqmM///M///
              M///8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAAACAAACAgAAAzJmZ////////8MqmM///8MqmAAD/
              8Mqm8MqmzGYzwMDAwMDAAACAAAD/AACA/wAAgAAAzJmZ////////8MqmAAD/AAD/mTMz8Mqm
              zGYzwMDAwMDAAAD/AAD/AJn//wAAgAAAzJmZ////////8MqmAJn/M///mTMz8MqmzGYzwMDA
              wMDAAAD/AJn/M///gICAgAAAzJmZ////////8MqmM///M///M///8MqmzGYzwMDAwMDAAJn/
              M///M///M///ZmZmzJmZ////8MqmAAD/8MqmM///8Mqm8MqmzGYzwMDAwMDAwMDAM///M///
              M///zJmZ////8MqmAAD/AAD/mTMz8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAM///zJmZ////
              ////8MqmAJn/M///mTMzzJmZzGYzzGYzzGYzwMDAwMDAwMDAwMDAzJmZ////////////8Mqm
              M///M///M///zJmZ////zJmZwMDAwMDAwMDAwMDAwMDAzJmZ////////////////8MqmM///
              8MqmzJmZzJmZwMDAwMDAwMDAwMDAwMDAwMDAzJmZzJmZzJmZzJmZzJmZzJmZzJmZzJmZzJmZ
              wMDAwMDAwMDAwMDArboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26
              DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3w
              rboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26
              DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCt
              ug==
            </Icon>
            <AppliesTo>
              <Apply type="ToolboxItemImage"/>
            </AppliesTo>
          </Stereotype>
          <Stereotype name="GoF::Visitor(UMLPattern)" notes="">
            <Icon type="bitmap" xmlns:dt="urn:schemas-microsoft-com:datatypes" dt:dt="bin.base64">
              Qk02AwAAAAAAADYAAAAoAAAAEAAAABAAAAABABgAAAAAAAADAAATCwAAEwsAAAAAAAAAAAAA
              wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA
              wMDAzJmZzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzwMDAwMDAwMDAwMDAzJmZ
              8Mqm8Mqm8Mqm8Mqm8MqmAAD/8Mqm8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAzJmZ////////
              8Mqm8MqmAAD/AAD/mTMz8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAzJmZ////////////8Mqm
              AJn/M///mTMz8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAAACAzJmZ////////8MqmM///M///
              M///8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAAACAAACAgAAAzJmZ////////8MqmM///8MqmAAD/
              8Mqm8MqmzGYzwMDAwMDAAACAAAD/AACA/wAAgAAAzJmZ////////8MqmAAD/AAD/mTMz8Mqm
              zGYzwMDAwMDAAAD/AAD/AJn//wAAgAAAzJmZ////////8MqmAJn/M///mTMz8MqmzGYzwMDA
              wMDAAAD/AJn/M///gICAgAAAzJmZ////////8MqmM///M///M///8MqmzGYzwMDAwMDAAJn/
              M///M///M///ZmZmzJmZ////8MqmAAD/8MqmM///8Mqm8MqmzGYzwMDAwMDAwMDAM///M///
              M///zJmZ////8MqmAAD/AAD/mTMz8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAM///zJmZ////
              ////8MqmAJn/M///mTMzzJmZzGYzzGYzzGYzwMDAwMDAwMDAwMDAzJmZ////////////8Mqm
              M///M///M///zJmZ////zJmZwMDAwMDAwMDAwMDAwMDAzJmZ////////////////8MqmM///
              8MqmzJmZzJmZwMDAwMDAwMDAwMDAwMDAwMDAzJmZzJmZzJmZzJmZzJmZzJmZzJmZzJmZzJmZ
              wMDAwMDAwMDAwMDArboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26
              DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3w
              rboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26
              DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCt
              ug==
            </Icon>
            <AppliesTo>
              <Apply type="ToolboxItemImage"/>
            </AppliesTo>
          </Stereotype>
          <Stereotype name="GoF::Abstract Factory(UMLPattern)" notes="">
            <Icon type="bitmap" xmlns:dt="urn:schemas-microsoft-com:datatypes" dt:dt="bin.base64">
              Qk02AwAAAAAAADYAAAAoAAAAEAAAABAAAAABABgAAAAAAAADAAATCwAAEwsAAAAAAAAAAAAA
              wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA
              wMDAzJmZzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzwMDAwMDAwMDAwMDAzJmZ
              8Mqm8Mqm8Mqm8Mqm8MqmAAD/8Mqm8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAzJmZ////////
              8Mqm8MqmAAD/AAD/mTMz8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAzJmZ////////////8Mqm
              AJn/M///mTMz8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAAACAzJmZ////////8MqmM///M///
              M///8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAAACAAACAgAAAzJmZ////////8MqmM///8MqmAAD/
              8Mqm8MqmzGYzwMDAwMDAAACAAAD/AACA/wAAgAAAzJmZ////////8MqmAAD/AAD/mTMz8Mqm
              zGYzwMDAwMDAAAD/AAD/AJn//wAAgAAAzJmZ////////8MqmAJn/M///mTMz8MqmzGYzwMDA
              wMDAAAD/AJn/M///gICAgAAAzJmZ////////8MqmM///M///M///8MqmzGYzwMDAwMDAAJn/
              M///M///M///ZmZmzJmZ////8MqmAAD/8MqmM///8Mqm8MqmzGYzwMDAwMDAwMDAM///M///
              M///zJmZ////8MqmAAD/AAD/mTMz8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAM///zJmZ////
              ////8MqmAJn/M///mTMzzJmZzGYzzGYzzGYzwMDAwMDAwMDAwMDAzJmZ////////////8Mqm
              M///M///M///zJmZ////zJmZwMDAwMDAwMDAwMDAwMDAzJmZ////////////////8MqmM///
              8MqmzJmZzJmZwMDAwMDAwMDAwMDAwMDAwMDAzJmZzJmZzJmZzJmZzJmZzJmZzJmZzJmZzJmZ
              wMDAwMDAwMDAwMDArboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26
              DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3w
              rboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26
              DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCt
              ug==
            </Icon>
            <AppliesTo>
              <Apply type="ToolboxItemImage"/>
            </AppliesTo>
          </Stereotype>
          <Stereotype name="GoF::Builder(UMLPattern)" notes="">
            <Icon type="bitmap" xmlns:dt="urn:schemas-microsoft-com:datatypes" dt:dt="bin.base64">
              Qk02AwAAAAAAADYAAAAoAAAAEAAAABAAAAABABgAAAAAAAADAAATCwAAEwsAAAAAAAAAAAAA
              wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA
              wMDAzJmZzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzwMDAwMDAwMDAwMDAzJmZ
              8Mqm8Mqm8Mqm8Mqm8MqmAAD/8Mqm8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAzJmZ////////
              8Mqm8MqmAAD/AAD/mTMz8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAzJmZ////////////8Mqm
              AJn/M///mTMz8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAAACAzJmZ////////8MqmM///M///
              M///8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAAACAAACAgAAAzJmZ////////8MqmM///8MqmAAD/
              8Mqm8MqmzGYzwMDAwMDAAACAAAD/AACA/wAAgAAAzJmZ////////8MqmAAD/AAD/mTMz8Mqm
              zGYzwMDAwMDAAAD/AAD/AJn//wAAgAAAzJmZ////////8MqmAJn/M///mTMz8MqmzGYzwMDA
              wMDAAAD/AJn/M///gICAgAAAzJmZ////////8MqmM///M///M///8MqmzGYzwMDAwMDAAJn/
              M///M///M///ZmZmzJmZ////8MqmAAD/8MqmM///8Mqm8MqmzGYzwMDAwMDAwMDAM///M///
              M///zJmZ////8MqmAAD/AAD/mTMz8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAM///zJmZ////
              ////8MqmAJn/M///mTMzzJmZzGYzzGYzzGYzwMDAwMDAwMDAwMDAzJmZ////////////8Mqm
              M///M///M///zJmZ////zJmZwMDAwMDAwMDAwMDAwMDAzJmZ////////////////8MqmM///
              8MqmzJmZzJmZwMDAwMDAwMDAwMDAwMDAwMDAzJmZzJmZzJmZzJmZzJmZzJmZzJmZzJmZzJmZ
              wMDAwMDAwMDAwMDArboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26
              DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3w
              rboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26
              DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCt
              ug==
            </Icon>
            <AppliesTo>
              <Apply type="ToolboxItemImage"/>
            </AppliesTo>
          </Stereotype>
          <Stereotype name="GoF::Factory Method(UMLPattern)" notes="">
            <Icon type="bitmap" xmlns:dt="urn:schemas-microsoft-com:datatypes" dt:dt="bin.base64">
              Qk02AwAAAAAAADYAAAAoAAAAEAAAABAAAAABABgAAAAAAAADAAATCwAAEwsAAAAAAAAAAAAA
              wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA
              wMDAzJmZzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzwMDAwMDAwMDAwMDAzJmZ
              8Mqm8Mqm8Mqm8Mqm8MqmAAD/8Mqm8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAzJmZ////////
              8Mqm8MqmAAD/AAD/mTMz8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAzJmZ////////////8Mqm
              AJn/M///mTMz8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAAACAzJmZ////////8MqmM///M///
              M///8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAAACAAACAgAAAzJmZ////////8MqmM///8MqmAAD/
              8Mqm8MqmzGYzwMDAwMDAAACAAAD/AACA/wAAgAAAzJmZ////////8MqmAAD/AAD/mTMz8Mqm
              zGYzwMDAwMDAAAD/AAD/AJn//wAAgAAAzJmZ////////8MqmAJn/M///mTMz8MqmzGYzwMDA
              wMDAAAD/AJn/M///gICAgAAAzJmZ////////8MqmM///M///M///8MqmzGYzwMDAwMDAAJn/
              M///M///M///ZmZmzJmZ////8MqmAAD/8MqmM///8Mqm8MqmzGYzwMDAwMDAwMDAM///M///
              M///zJmZ////8MqmAAD/AAD/mTMz8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAM///zJmZ////
              ////8MqmAJn/M///mTMzzJmZzGYzzGYzzGYzwMDAwMDAwMDAwMDAzJmZ////////////8Mqm
              M///M///M///zJmZ////zJmZwMDAwMDAwMDAwMDAwMDAzJmZ////////////////8MqmM///
              8MqmzJmZzJmZwMDAwMDAwMDAwMDAwMDAwMDAzJmZzJmZzJmZzJmZzJmZzJmZzJmZzJmZzJmZ
              wMDAwMDAwMDAwMDArboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26
              DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3w
              rboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26
              DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCt
              ug==
            </Icon>
            <AppliesTo>
              <Apply type="ToolboxItemImage"/>
            </AppliesTo>
          </Stereotype>
          <Stereotype name="GoF::Prototype(UMLPattern)" notes="">
            <Icon type="bitmap" xmlns:dt="urn:schemas-microsoft-com:datatypes" dt:dt="bin.base64">
              Qk02AwAAAAAAADYAAAAoAAAAEAAAABAAAAABABgAAAAAAAADAAATCwAAEwsAAAAAAAAAAAAA
              wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA
              wMDAzJmZzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzwMDAwMDAwMDAwMDAzJmZ
              8Mqm8Mqm8Mqm8Mqm8MqmAAD/8Mqm8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAzJmZ////////
              8Mqm8MqmAAD/AAD/mTMz8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAzJmZ////////////8Mqm
              AJn/M///mTMz8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAAACAzJmZ////////8MqmM///M///
              M///8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAAACAAACAgAAAzJmZ////////8MqmM///8MqmAAD/
              8Mqm8MqmzGYzwMDAwMDAAACAAAD/AACA/wAAgAAAzJmZ////////8MqmAAD/AAD/mTMz8Mqm
              zGYzwMDAwMDAAAD/AAD/AJn//wAAgAAAzJmZ////////8MqmAJn/M///mTMz8MqmzGYzwMDA
              wMDAAAD/AJn/M///gICAgAAAzJmZ////////8MqmM///M///M///8MqmzGYzwMDAwMDAAJn/
              M///M///M///ZmZmzJmZ////8MqmAAD/8MqmM///8Mqm8MqmzGYzwMDAwMDAwMDAM///M///
              M///zJmZ////8MqmAAD/AAD/mTMz8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAM///zJmZ////
              ////8MqmAJn/M///mTMzzJmZzGYzzGYzzGYzwMDAwMDAwMDAwMDAzJmZ////////////8Mqm
              M///M///M///zJmZ////zJmZwMDAwMDAwMDAwMDAwMDAzJmZ////////////////8MqmM///
              8MqmzJmZzJmZwMDAwMDAwMDAwMDAwMDAwMDAzJmZzJmZzJmZzJmZzJmZzJmZzJmZzJmZzJmZ
              wMDAwMDAwMDAwMDArboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26
              DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3w
              rboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26
              DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCt
              ug==
            </Icon>
            <AppliesTo>
              <Apply type="ToolboxItemImage"/>
            </AppliesTo>
          </Stereotype>
          <Stereotype name="GoF::Singleton(UMLPattern)" notes="">
            <Icon type="bitmap" xmlns:dt="urn:schemas-microsoft-com:datatypes" dt:dt="bin.base64">
              Qk02AwAAAAAAADYAAAAoAAAAEAAAABAAAAABABgAAAAAAAADAAATCwAAEwsAAAAAAAAAAAAA
              wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA
              wMDAzJmZzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzwMDAwMDAwMDAwMDAzJmZ
              8Mqm8Mqm8Mqm8Mqm8MqmAAD/8Mqm8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAzJmZ////////
              8Mqm8MqmAAD/AAD/mTMz8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAzJmZ////////////8Mqm
              AJn/M///mTMz8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAAACAzJmZ////////8MqmM///M///
              M///8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAAACAAACAgAAAzJmZ////////8MqmM///8MqmAAD/
              8Mqm8MqmzGYzwMDAwMDAAACAAAD/AACA/wAAgAAAzJmZ////////8MqmAAD/AAD/mTMz8Mqm
              zGYzwMDAwMDAAAD/AAD/AJn//wAAgAAAzJmZ////////8MqmAJn/M///mTMz8MqmzGYzwMDA
              wMDAAAD/AJn/M///gICAgAAAzJmZ////////8MqmM///M///M///8MqmzGYzwMDAwMDAAJn/
              M///M///M///ZmZmzJmZ////8MqmAAD/8MqmM///8Mqm8MqmzGYzwMDAwMDAwMDAM///M///
              M///zJmZ////8MqmAAD/AAD/mTMz8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAM///zJmZ////
              ////8MqmAJn/M///mTMzzJmZzGYzzGYzzGYzwMDAwMDAwMDAwMDAzJmZ////////////8Mqm
              M///M///M///zJmZ////zJmZwMDAwMDAwMDAwMDAwMDAzJmZ////////////////8MqmM///
              8MqmzJmZzJmZwMDAwMDAwMDAwMDAwMDAwMDAzJmZzJmZzJmZzJmZzJmZzJmZzJmZzJmZzJmZ
              wMDAwMDAwMDAwMDArboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26
              DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3w
              rboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26
              DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCt
              ug==
            </Icon>
            <AppliesTo>
              <Apply type="ToolboxItemImage"/>
            </AppliesTo>
          </Stereotype>
          <Stereotype name="GoF::Adapter(UMLPattern)" notes="">
            <Icon type="bitmap" xmlns:dt="urn:schemas-microsoft-com:datatypes" dt:dt="bin.base64">
              Qk02AwAAAAAAADYAAAAoAAAAEAAAABAAAAABABgAAAAAAAADAAATCwAAEwsAAAAAAAAAAAAA
              wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA
              wMDAzJmZzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzwMDAwMDAwMDAwMDAzJmZ
              8Mqm8Mqm8Mqm8Mqm8MqmAAD/8Mqm8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAzJmZ////////
              8Mqm8MqmAAD/AAD/mTMz8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAzJmZ////////////8Mqm
              AJn/M///mTMz8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAAACAzJmZ////////8MqmM///M///
              M///8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAAACAAACAgAAAzJmZ////////8MqmM///8MqmAAD/
              8Mqm8MqmzGYzwMDAwMDAAACAAAD/AACA/wAAgAAAzJmZ////////8MqmAAD/AAD/mTMz8Mqm
              zGYzwMDAwMDAAAD/AAD/AJn//wAAgAAAzJmZ////////8MqmAJn/M///mTMz8MqmzGYzwMDA
              wMDAAAD/AJn/M///gICAgAAAzJmZ////////8MqmM///M///M///8MqmzGYzwMDAwMDAAJn/
              M///M///M///ZmZmzJmZ////8MqmAAD/8MqmM///8Mqm8MqmzGYzwMDAwMDAwMDAM///M///
              M///zJmZ////8MqmAAD/AAD/mTMz8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAM///zJmZ////
              ////8MqmAJn/M///mTMzzJmZzGYzzGYzzGYzwMDAwMDAwMDAwMDAzJmZ////////////8Mqm
              M///M///M///zJmZ////zJmZwMDAwMDAwMDAwMDAwMDAzJmZ////////////////8MqmM///
              8MqmzJmZzJmZwMDAwMDAwMDAwMDAwMDAwMDAzJmZzJmZzJmZzJmZzJmZzJmZzJmZzJmZzJmZ
              wMDAwMDAwMDAwMDArboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26
              DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3w
              rboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26
              DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCt
              ug==
            </Icon>
            <AppliesTo>
              <Apply type="ToolboxItemImage"/>
            </AppliesTo>
          </Stereotype>
          <Stereotype name="GoF::Bridge(UMLPattern)" notes="">
            <Icon type="bitmap" xmlns:dt="urn:schemas-microsoft-com:datatypes" dt:dt="bin.base64">
              Qk02AwAAAAAAADYAAAAoAAAAEAAAABAAAAABABgAAAAAAAADAAATCwAAEwsAAAAAAAAAAAAA
              wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA
              wMDAzJmZzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzwMDAwMDAwMDAwMDAzJmZ
              8Mqm8Mqm8Mqm8Mqm8MqmAAD/8Mqm8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAzJmZ////////
              8Mqm8MqmAAD/AAD/mTMz8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAzJmZ////////////8Mqm
              AJn/M///mTMz8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAAACAzJmZ////////8MqmM///M///
              M///8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAAACAAACAgAAAzJmZ////////8MqmM///8MqmAAD/
              8Mqm8MqmzGYzwMDAwMDAAACAAAD/AACA/wAAgAAAzJmZ////////8MqmAAD/AAD/mTMz8Mqm
              zGYzwMDAwMDAAAD/AAD/AJn//wAAgAAAzJmZ////////8MqmAJn/M///mTMz8MqmzGYzwMDA
              wMDAAAD/AJn/M///gICAgAAAzJmZ////////8MqmM///M///M///8MqmzGYzwMDAwMDAAJn/
              M///M///M///ZmZmzJmZ////8MqmAAD/8MqmM///8Mqm8MqmzGYzwMDAwMDAwMDAM///M///
              M///zJmZ////8MqmAAD/AAD/mTMz8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAM///zJmZ////
              ////8MqmAJn/M///mTMzzJmZzGYzzGYzzGYzwMDAwMDAwMDAwMDAzJmZ////////////8Mqm
              M///M///M///zJmZ////zJmZwMDAwMDAwMDAwMDAwMDAzJmZ////////////////8MqmM///
              8MqmzJmZzJmZwMDAwMDAwMDAwMDAwMDAwMDAzJmZzJmZzJmZzJmZzJmZzJmZzJmZzJmZzJmZ
              wMDAwMDAwMDAwMDArboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26
              DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3w
              rboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26
              DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCt
              ug==
            </Icon>
            <AppliesTo>
              <Apply type="ToolboxItemImage"/>
            </AppliesTo>
          </Stereotype>
          <Stereotype name="GoF::Composite(UMLPattern)" notes="">
            <Icon type="bitmap" xmlns:dt="urn:schemas-microsoft-com:datatypes" dt:dt="bin.base64">
              Qk02AwAAAAAAADYAAAAoAAAAEAAAABAAAAABABgAAAAAAAADAAATCwAAEwsAAAAAAAAAAAAA
              wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA
              wMDAzJmZzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzwMDAwMDAwMDAwMDAzJmZ
              8Mqm8Mqm8Mqm8Mqm8MqmAAD/8Mqm8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAzJmZ////////
              8Mqm8MqmAAD/AAD/mTMz8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAzJmZ////////////8Mqm
              AJn/M///mTMz8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAAACAzJmZ////////8MqmM///M///
              M///8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAAACAAACAgAAAzJmZ////////8MqmM///8MqmAAD/
              8Mqm8MqmzGYzwMDAwMDAAACAAAD/AACA/wAAgAAAzJmZ////////8MqmAAD/AAD/mTMz8Mqm
              zGYzwMDAwMDAAAD/AAD/AJn//wAAgAAAzJmZ////////8MqmAJn/M///mTMz8MqmzGYzwMDA
              wMDAAAD/AJn/M///gICAgAAAzJmZ////////8MqmM///M///M///8MqmzGYzwMDAwMDAAJn/
              M///M///M///ZmZmzJmZ////8MqmAAD/8MqmM///8Mqm8MqmzGYzwMDAwMDAwMDAM///M///
              M///zJmZ////8MqmAAD/AAD/mTMz8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAM///zJmZ////
              ////8MqmAJn/M///mTMzzJmZzGYzzGYzzGYzwMDAwMDAwMDAwMDAzJmZ////////////8Mqm
              M///M///M///zJmZ////zJmZwMDAwMDAwMDAwMDAwMDAzJmZ////////////////8MqmM///
              8MqmzJmZzJmZwMDAwMDAwMDAwMDAwMDAwMDAzJmZzJmZzJmZzJmZzJmZzJmZzJmZzJmZzJmZ
              wMDAwMDAwMDAwMDArboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26
              DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3w
              rboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26
              DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCt
              ug==
            </Icon>
            <AppliesTo>
              <Apply type="ToolboxItemImage"/>
            </AppliesTo>
          </Stereotype>
          <Stereotype name="GoF::Decorator(UMLPattern)" notes="">
            <Icon type="bitmap" xmlns:dt="urn:schemas-microsoft-com:datatypes" dt:dt="bin.base64">
              Qk02AwAAAAAAADYAAAAoAAAAEAAAABAAAAABABgAAAAAAAADAAATCwAAEwsAAAAAAAAAAAAA
              wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA
              wMDAzJmZzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzwMDAwMDAwMDAwMDAzJmZ
              8Mqm8Mqm8Mqm8Mqm8MqmAAD/8Mqm8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAzJmZ////////
              8Mqm8MqmAAD/AAD/mTMz8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAzJmZ////////////8Mqm
              AJn/M///mTMz8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAAACAzJmZ////////8MqmM///M///
              M///8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAAACAAACAgAAAzJmZ////////8MqmM///8MqmAAD/
              8Mqm8MqmzGYzwMDAwMDAAACAAAD/AACA/wAAgAAAzJmZ////////8MqmAAD/AAD/mTMz8Mqm
              zGYzwMDAwMDAAAD/AAD/AJn//wAAgAAAzJmZ////////8MqmAJn/M///mTMz8MqmzGYzwMDA
              wMDAAAD/AJn/M///gICAgAAAzJmZ////////8MqmM///M///M///8MqmzGYzwMDAwMDAAJn/
              M///M///M///ZmZmzJmZ////8MqmAAD/8MqmM///8Mqm8MqmzGYzwMDAwMDAwMDAM///M///
              M///zJmZ////8MqmAAD/AAD/mTMz8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAM///zJmZ////
              ////8MqmAJn/M///mTMzzJmZzGYzzGYzzGYzwMDAwMDAwMDAwMDAzJmZ////////////8Mqm
              M///M///M///zJmZ////zJmZwMDAwMDAwMDAwMDAwMDAzJmZ////////////////8MqmM///
              8MqmzJmZzJmZwMDAwMDAwMDAwMDAwMDAwMDAzJmZzJmZzJmZzJmZzJmZzJmZzJmZzJmZzJmZ
              wMDAwMDAwMDAwMDArboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26
              DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3w
              rboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26
              DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCt
              ug==
            </Icon>
            <AppliesTo>
              <Apply type="ToolboxItemImage"/>
            </AppliesTo>
          </Stereotype>
          <Stereotype name="GoF::Facade(UMLPattern)" notes="">
            <Icon type="bitmap" xmlns:dt="urn:schemas-microsoft-com:datatypes" dt:dt="bin.base64">
              Qk02AwAAAAAAADYAAAAoAAAAEAAAABAAAAABABgAAAAAAAADAAATCwAAEwsAAAAAAAAAAAAA
              wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA
              wMDAzJmZzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzwMDAwMDAwMDAwMDAzJmZ
              8Mqm8Mqm8Mqm8Mqm8MqmAAD/8Mqm8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAzJmZ////////
              8Mqm8MqmAAD/AAD/mTMz8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAzJmZ////////////8Mqm
              AJn/M///mTMz8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAAACAzJmZ////////8MqmM///M///
              M///8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAAACAAACAgAAAzJmZ////////8MqmM///8MqmAAD/
              8Mqm8MqmzGYzwMDAwMDAAACAAAD/AACA/wAAgAAAzJmZ////////8MqmAAD/AAD/mTMz8Mqm
              zGYzwMDAwMDAAAD/AAD/AJn//wAAgAAAzJmZ////////8MqmAJn/M///mTMz8MqmzGYzwMDA
              wMDAAAD/AJn/M///gICAgAAAzJmZ////////8MqmM///M///M///8MqmzGYzwMDAwMDAAJn/
              M///M///M///ZmZmzJmZ////8MqmAAD/8MqmM///8Mqm8MqmzGYzwMDAwMDAwMDAM///M///
              M///zJmZ////8MqmAAD/AAD/mTMz8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAM///zJmZ////
              ////8MqmAJn/M///mTMzzJmZzGYzzGYzzGYzwMDAwMDAwMDAwMDAzJmZ////////////8Mqm
              M///M///M///zJmZ////zJmZwMDAwMDAwMDAwMDAwMDAzJmZ////////////////8MqmM///
              8MqmzJmZzJmZwMDAwMDAwMDAwMDAwMDAwMDAzJmZzJmZzJmZzJmZzJmZzJmZzJmZzJmZzJmZ
              wMDAwMDAwMDAwMDArboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26
              DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3w
              rboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26
              DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCt
              ug==
            </Icon>
            <AppliesTo>
              <Apply type="ToolboxItemImage"/>
            </AppliesTo>
          </Stereotype>
          <Stereotype name="GoF::Flyweight(UMLPattern)" notes="">
            <Icon type="bitmap" xmlns:dt="urn:schemas-microsoft-com:datatypes" dt:dt="bin.base64">
              Qk02AwAAAAAAADYAAAAoAAAAEAAAABAAAAABABgAAAAAAAADAAATCwAAEwsAAAAAAAAAAAAA
              wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA
              wMDAzJmZzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzwMDAwMDAwMDAwMDAzJmZ
              8Mqm8Mqm8Mqm8Mqm8MqmAAD/8Mqm8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAzJmZ////////
              8Mqm8MqmAAD/AAD/mTMz8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAzJmZ////////////8Mqm
              AJn/M///mTMz8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAAACAzJmZ////////8MqmM///M///
              M///8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAAACAAACAgAAAzJmZ////////8MqmM///8MqmAAD/
              8Mqm8MqmzGYzwMDAwMDAAACAAAD/AACA/wAAgAAAzJmZ////////8MqmAAD/AAD/mTMz8Mqm
              zGYzwMDAwMDAAAD/AAD/AJn//wAAgAAAzJmZ////////8MqmAJn/M///mTMz8MqmzGYzwMDA
              wMDAAAD/AJn/M///gICAgAAAzJmZ////////8MqmM///M///M///8MqmzGYzwMDAwMDAAJn/
              M///M///M///ZmZmzJmZ////8MqmAAD/8MqmM///8Mqm8MqmzGYzwMDAwMDAwMDAM///M///
              M///zJmZ////8MqmAAD/AAD/mTMz8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAM///zJmZ////
              ////8MqmAJn/M///mTMzzJmZzGYzzGYzzGYzwMDAwMDAwMDAwMDAzJmZ////////////8Mqm
              M///M///M///zJmZ////zJmZwMDAwMDAwMDAwMDAwMDAzJmZ////////////////8MqmM///
              8MqmzJmZzJmZwMDAwMDAwMDAwMDAwMDAwMDAzJmZzJmZzJmZzJmZzJmZzJmZzJmZzJmZzJmZ
              wMDAwMDAwMDAwMDArboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26
              DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3w
              rboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26
              DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCt
              ug==
            </Icon>
            <AppliesTo>
              <Apply type="ToolboxItemImage"/>
            </AppliesTo>
          </Stereotype>
          <Stereotype name="GoF::Proxy(UMLPattern)" notes="">
            <Icon type="bitmap" xmlns:dt="urn:schemas-microsoft-com:datatypes" dt:dt="bin.base64">
              Qk02AwAAAAAAADYAAAAoAAAAEAAAABAAAAABABgAAAAAAAADAAATCwAAEwsAAAAAAAAAAAAA
              wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA
              wMDAzJmZzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzzGYzwMDAwMDAwMDAwMDAzJmZ
              8Mqm8Mqm8Mqm8Mqm8MqmAAD/8Mqm8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAzJmZ////////
              8Mqm8MqmAAD/AAD/mTMz8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAzJmZ////////////8Mqm
              AJn/M///mTMz8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAAACAzJmZ////////8MqmM///M///
              M///8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAAACAAACAgAAAzJmZ////////8MqmM///8MqmAAD/
              8Mqm8MqmzGYzwMDAwMDAAACAAAD/AACA/wAAgAAAzJmZ////////8MqmAAD/AAD/mTMz8Mqm
              zGYzwMDAwMDAAAD/AAD/AJn//wAAgAAAzJmZ////////8MqmAJn/M///mTMz8MqmzGYzwMDA
              wMDAAAD/AJn/M///gICAgAAAzJmZ////////8MqmM///M///M///8MqmzGYzwMDAwMDAAJn/
              M///M///M///ZmZmzJmZ////8MqmAAD/8MqmM///8Mqm8MqmzGYzwMDAwMDAwMDAM///M///
              M///zJmZ////8MqmAAD/AAD/mTMz8Mqm8Mqm8MqmzGYzwMDAwMDAwMDAwMDAM///zJmZ////
              ////8MqmAJn/M///mTMzzJmZzGYzzGYzzGYzwMDAwMDAwMDAwMDAzJmZ////////////8Mqm
              M///M///M///zJmZ////zJmZwMDAwMDAwMDAwMDAwMDAzJmZ////////////////8MqmM///
              8MqmzJmZzJmZwMDAwMDAwMDAwMDAwMDAwMDAzJmZzJmZzJmZzJmZzJmZzJmZzJmZzJmZzJmZ
              wMDAwMDAwMDAwMDArboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26
              DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3w
              rboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26
              DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCtug3wrboN8K26DfCt
              ug==
            </Icon>
            <AppliesTo>
              <Apply type="ToolboxItemImage"/>
            </AppliesTo>
          </Stereotype>
        </Stereotypes>
        <TaggedValueTypes/>
      </Content>
    </UMLProfile>
  </UIToolboxes>
  <ModelTemplates>
    <Model name="Abstract Factory" description="" groupName="Creational" location="gf1.1-abstract-factory.xml" default="yes" customizable="false" icon="31" filter="Simple" />
    <Model name="Builder" description="" groupName="Creational" location="gf1.1-builder.xml" default="yes" customizable="false" icon="31" filter="Simple" />
    <Model name="Factory Method" description="" groupName="Creational" location="gf1.1-factory-method.xml" default="yes" customizable="false" icon="31" filter="Simple" />
    <Model name="Prototype" description="" groupName="Creational" location="gf1.1-prototype.xml" default="yes" customizable="false" icon="31" filter="Simple" />
    <Model name="Singleton" description="" groupName="Creational" location="gf1.1-singleton.xml" default="yes" customizable="false" icon="31" filter="Simple" />
    <Model name="Adapter" description="" groupName="Structural" location="gf1.1-adapter.xml" default="yes" customizable="false" icon="31" filter="Simple" />
    <Model name="Bridge" description="" groupName="Structural" location="gf1.1-bridge.xml" default="yes" customizable="false" icon="31" filter="Simple" />
    <Model name="Composite" description="" groupName="Structural" location="gf1.1-composite.xml" default="yes" customizable="false" icon="31" filter="Simple" />
    <Model name="Decorator" description="" groupName="Structural" location="gf1.1-decorator.xml" default="yes" customizable="false" icon="31" filter="Simple" />
    <Model name="Facade" description="" groupName="Structural" location="gf1.1-facade.xml" default="yes" customizable="false" icon="31" filter="Simple" />
    <Model name="Flyweight" description="" groupName="Structural" location="gf1.1-flyweight.xml" default="yes" customizable="false" icon="31" filter="Simple" />
    <Model name="Proxy" description="" groupName="Structural" location="gf1.1-proxy.xml" default="yes" customizable="false" icon="31" filter="Simple" />
    <Model name="Chain of Responsibility" description="" groupName="Behavioral" location="gf1.1-chain-of-responsibility.xml" default="yes" customizable="false" icon="31" filter="Simple" />
    <Model name="Command" description="" groupName="Behavioral" location="gf1.1-command.xml" default="yes" customizable="false" icon="31" filter="Simple" />
    <Model name="Interpreter" description="" groupName="Behavioral" location="gf1.1-interpreter.xml" default="yes" customizable="false" icon="31" filter="Simple" />
    <Model name="Iterator" description="" groupName="Behavioral" location="gf1.1-iterator.xml" default="yes" customizable="false" icon="31" filter="Simple" />
    <Model name="Mediator" description="" groupName="Behavioral" location="gf1.1-mediator.xml" default="yes" customizable="false" icon="31" filter="Simple" />
    <Model name="Memento" description="" groupName="Behavioral" location="gf1.1-memento.xml" default="yes" customizable="false" icon="31" filter="Simple" />
    <Model name="Observer" description="" groupName="Behavioral" location="gf1.1-observer.xml" default="yes" customizable="false" icon="31" filter="Simple" />
    <Model name="State" description="" groupName="Behavioral" location="gf1.1-state.xml" default="yes" customizable="false" icon="31" filter="Simple" />
    <Model name="Strategy" description="" groupName="Behavioral" location="gf1.1-strategy.xml" default="yes" customizable="false" icon="31" filter="Simple" />
    <Model name="Template Method" description="" groupName="Behavioral" location="gf1.1-template-method.xml" default="yes" customizable="false" icon="31" filter="Simple" />
    <Model name="Visitor" description="" groupName="Behavioral" location="gf1.1-visitor.xml" default="yes" customizable="false" icon="31" filter="Simple" />
  </ModelTemplates>
</MDG.Technology>
