Content-Type: multipart/related; start=; boundary=----------d0hdjcToXFM5UQDnZDpxrW Content-Location: http://ted.europa.eu/udl?uri=TED:NOTICE:189371-2010:TEXT:PL:HTML Subject: =?utf-8?Q?Zam=C3=B3wienie=20public...=20-=20189371-2010=20-=20TED=20Tenders=20Electronic=20Daily?= MIME-Version: 1.0 ------------d0hdjcToXFM5UQDnZDpxrW Content-Disposition: inline; filename=udl.htm Content-Type: text/html; charset=utf-8; name=udl.htm Content-ID: Content-Location: http://ted.europa.eu/udl?uri=TED:NOTICE:189371-2010:TEXT:PL:HTML Content-Transfer-Encoding: Quoted-Printable Zam=C3=B3wienie public... - 189371-2010 - TED Tenders Electronic= Daily<= form id=3D"mainForm" action=3D"?" method=3D"post">
=
Ta strona jest cz=C4=99=C5=9Bci=C4=85
  • |
  • |
  • |
  • |
<= h1>TED - Internetowej aplikacji TED
Suplementu do Dziennika Urz=C4=99dowego Unii E= uropejskiej
//TED Strona g=C5=82ówna<\/a>"); //]]> > Wy=C5=9Bwietlanie og=C5=82oszenia TED w bie=C5=BC=C4=85cym j=C4=99= zyku
2010/124  |  Nast=C4=99pna aktualizacja: 2010/125  
  • SIMAP
  • eNOTICES
  • =
Szybkie wyszukiwanie =
 | 
Logowanie
Logowanie

=
  • =
  • Mój TED
    • Anonimowy
    Wiadomo=C5=9Bci
    • =
    • =

    Zam=C3=B3wienie public..= . - 189371-2010

    =
    =

    = = = = = = = = = = = = = = = = = = = = = = = = =

    =
    = =
    =
    30/06/2010 =C2=A0=C2=A0 S124 =C2=A0=C2=A0 Pa=C5=84stwa cz=C5=82onkowskie - Zam=C3=B3wien= ie publiczne na us=C5=82ugi - Udzielenie zam=C3=B3wienia - Procedura otw= arta=C2=A0

    PL-Lublin: Usługi w zakresie nieruchomości

    2010/S 124-189371

    OGŁOSZENIE O UDZIELENIU ZAMÓWIENIA

    Usługi

    SEKCJA I: INSTYTUCJA ZAMAWIAJ=C4=84CA

    I.1) NAZWA, AD= RESY I OSOBY KONTAKTOWE

    Lubelski Urząd Wojewódzki w Lublinie
    ul. Spokojna 4
    Kontaktowy: Biuro Organizacyjno-Administracyjne LUW - ul. Spokojna = 4, 20-914 Lublin pok. 65
    Do wiadomości: Tomasz Malmon
    20-914 Lublin
    POLSKA
    Tel. +48 817424535
    E-mail: = zampub@lublin.uw.gov.pl
    Faks +48 817424200

    Adresy internetowe

    Ogólny adres instytucji zamawiającej = http://www.lublin.uw.gov.pl

    Adres profilu nabywcy = http://ww2.lublin.uw.gov.pl/zampub/

    I.2) RODZAJ IN= STYTUCJI ZAMAWIAJ=C4=84CEJ I G=C5=81=C3=93WNY PRZEDMIOT LUB PRZEDMIOTY D= ZIA=C5=81ALNO=C5=9ACI
    Ministerstwo lub inny organ krajowy lub federalny, w tym jednostki= regionalne i lokalne
    Ogólne usługi publiczne
    Instytucja zamawiająca dokonuje zakupu w imieniu innych insty= tucji zamawiających Nie

    SEKCJA II: PRZEDMIOT ZAM=C3=93WIENIA

    II.1) OPIS
    II.1.1) Nazwa nad= ana zam=C3=B3wieniu przez instytucj=C4=99 zamawiaj=C4=85c=C4=85
    Usługi biegłych - rzeczoznawców majątkowych.=
    II.1.2) Rodzaj za= m=C3=B3wienia oraz lokalizacja rob=C3=B3t budowlanych, miejsce realizacj= i dostawy lub =C5=9Bwiadczenia us=C5=82ug
    Usługi
    Kategoria usług: nr 27
    Główne miejsce świadczenia usług PL31.
    II.1.3) Og=C5=82o= szenie dotyczy
    II.1.4) Kr=C3=B3t= ki opis zam=C3=B3wienia lub zakupu
    Przedmiotem zamówienia jest sporządzenie opinii w form= ie operatów szacunkowych o wartości rynkowej praw do nieruch= omości oraz występowanie w charakterze biegłego w toku pr= owadzonych postępowań administracyjnych, mających na celu= ustalenie odszkodowań w myśl: przepisów ustawy z dnia = 10.4.2003 r. o szczególnych zasadach przygotowania i realizacji i= nwestycji w zakresie dróg publicznych (Dz. U. z 2009 r. Nr 193, p= oz. 1194 z późn. zm.), przepisów ustawy z dnia 28.3.2= 003 r. o transporcie kolejowym (Dz. U. z 2007 r. Nr 16, poz. 94 z p&oacu= te;źn. zm.), przepisów ustawy z dnia 12.2.2009 r. o szczeg&o= acute;lnych zasadach przygotowania i realizacji inwestycji w zakresie lo= tnisk użytku publicznego (Dz. U. z 2009, Nr 42, poz. 340 z pó= ;źn. zm.).
    Zamówieniem objętych będzie 7 000 działek (i= lość może ulec zmianie jednak nie mniej niż 2 000 dz= iałek) na różnych odcinkach dróg (drogi krajowe = i wojewódzkie) zlokalizowanych na terenie województwa lube= lskiego oraz działki zajęte pod tory kolejowe lub też lot= nisko użytku publicznego.
    Przewiduje się zamówienie uzupełniające (3 0= 00 działek).
    II.1.5) Wsp=C3=B3= lny S=C5=82ownik Zam=C3=B3wie=C5=84 (CPV)

    70000000

    II.1.6) Zam=C3=B3= wienie jest obj=C4=99te Porozumieniem w sprawie zam=C3=B3wie=C5=84 rz=C4= =85dowych (GPA)
    Nie
    II.2) CA=C5=81K= OWITA KO=C5=83COWA WARTO=C5=9A=C4=86 ZAM=C3=93WIENIA
    II.2.1) Ca=C5=82k= owita ko=C5=84cowa warto=C5=9B=C4=87 zam=C3=B3wienia
    Wartość 4 270 000,00 PLN
    Łącznie z VAT. Stawka VAT (%) 22,00

    SEKCJA IV: PROCEDURA

    IV.1) RODZAJ PR= OCEDURY
    IV.1.1) Rodzaj pr= ocedury
    Otwarta
    IV.2) KRYTERIA = UDZIELENIA ZAM=C3=93WIENIA
    IV.2.1) Kryteria = udzielenia zam=C3=B3wienia
    Najniższa cena
    Oferta na= jkorzystniejsza ekonomicznie z uwzgl=C4=99dnieniem kryteri=C3=B3w=
    Nie
    IV.3) INFORMACJ= E ADMINISTRACYJNE
    IV.3.2) Poprzedni= e publikacje dotycz=C4=85ce tego samego zam=C3=B3wienia
    OA.III.3221/5/2010
    IV.3.2) Poprzedni= e publikacje dotycz?ce tego samego zam=C3=B3wienia

    Ogłoszenie o zamówieniu

    Numer ogłoszenia w Dz.U. UE: = 2010/S 560-083475 z dnia 20.3.2010

    SEKCJA V: UDZIELENIE ZAM=C3=93WIENIA

    V.1) DATA DECY= ZJI O UDZIELENIU ZAM=C3=93WIENIA:
    11.6.2010
    V.2) LICZBA OT= RZYMANYCH OFERT:
    3
    V.3) NAZWA I A= DRES WYKONAWCY, NA RZECZ KT=C3=93REGO ZOSTA=C5=81A WYDANA DECYZJA O UDZI= ELENIU ZAM=C3=93WIENIA

    ARS Tax Nieruchomości s.c. T. Janicka J. Czajecki=
    ul. Kołłątaja 3/4
    20-006 Lublin
    POLSKA

    V.4) INFORMACJ= E NA TEMAT WARTO=C5=9ACI ZAM=C3=93WIENIA
    Początkowa szacunkowa całkowita wartość zam&oa= cute;wienia =
    Wartość 5 000 000,00 PLN
    Bez VAT
    Całkowita końcowa wartość zamówienia
    Wartość 4 270 000,00 EUR
    Łącznie z VAT. Stawka VAT (%) 22,00
    Jeżeli jest to wartość roczna lub miesięczna, = liczbę lat 1
    V.5) PRZEWIDYW= ANE JEST ZLECENIE PODWYKONAWSTWA W RAMACH ZAM=C3=93WIENIA
    Nie

    SEKCJA VI: INFORMACJE UZUPE=C5=81NIAJ=C4=84= CE

    VI.1) ZAM=C3=93= WIENIE DOTYCZY PROJEKTU/PROGRAMU FINANSOWANEGO ZE =C5=9ARODK=C3=93W WSP=C3= =93LNOTOWYCH
    Nie
    VI.2) INFORMACJ= E DODATKOWE
    VI.3) PROCEDURY= ODWO=C5=81AWCZE
    VI.3.1) Organ odp= owiedzialny za procedury odwo=C5=82awcze

    Krajowa Izba Odwoławcza
    ul. Postępu 17 A
    02-676 Warszawa
    POLSKA
    E-mail: = odwolania@uzp.gov.pl
    Tel. +48 224587840
    Internet: = ht= tp://www.uzp.gov.pl

    VI.3.2) Sk=C5=82a= danie odwo=C5=82a=C5=84
    Dokładne informacje na temat terminów składania o= dwołań Dokładne informacje na temat terminów sk= 22;adania odwołań: Odwołanie wnosi się do Prezesa Iz= by w formie pisemnej albo elektronicznej opatrzonej bezpiecznym podpisem= elektronicznym weryfikowanym za pomocą ważnego kwalifikowaneg= o certyfikatu.
    Odwołujący przesyła kopię odwołania zamaw= iającemu przed upływem terminu do wniesienia odwołania w = taki sposób, aby mógł on zapoznać się z jeg= o treścią przed upływem tego terminu. Domniemywa się= , że zamawiający mógł zapoznać się z tre= ścią odwołania przed upływem terminu do jego wniesie= nia, jeżeli przesłanie jego kopii nastąpiło przed up= ływem terminu do jego wniesienia za pomocą jednego ze sposob&o= acute;w określonych w art. 27 ust. 2 w ustawie z dnia 29.1.2004 r. = - Prawo zamówień publicznych (tekst jednolity - Dz.U. z 2007= r. Nr 223 poz. 1655 ze zm.).
    Odwołanie wnosi się:
    1) W terminie 10 dni od dnia przesłania informacji o czynno&#= 347;ci Zamawiającego stanowiącej podstawę jego wniesienia= – jeżeli zostały przesłane w sposób okre= 47;lony w art. 27 ust. 2, albo w terminie 15 dni – jeżeli zos= tały przesłane w inny sposób – w przypadku gdy wa= rtość zamówienia jest równa lub przekracza kwoty= określone w przepisach wydanych na podstawie art. 11 ust. 8.
    Odwołanie wobec treści ogłoszenia o zamówien= iu oraz wobec postanowień specyfikacji istotnych warunków za= mówienia, wnosi się w terminie 10 dni od dnia publikacji og&= #322;oszenia w Dzienniku Urzędowym Unii Europejskiej lub zamieszcze= nia specyfikacji istotnych warunków Zamówienia na stronie = internetowej.
    VI.3.3) =C5=B9r=C3= =B3d=C5=82o, gdzie mo=C5=BCna uzyska=C4=87 informacje na temat sk=C5=82a= dania odwo=C5=82a=C5=84

    Urząd Zamówień Publicznych
    ul. Postępu 17 A
    02-676 Warszawa
    POLSKA
    E-mail: = odwolania@uzp.gov.pl
    Tel. +48 224587840
    Internet: = ht= tp://www.uzp.gov.pl

    VI.4) DATA WYS=C5= =81ANIA NINIEJSZEGO OG=C5=81OSZENIA:
    28.6.2010
    =
    =
    • |
    • |
    • |
    • |
    ------------d0hdjcToXFM5UQDnZDpxrW Content-Disposition: inline; filename=favicon.ico Content-Type: image/x-icon; charset=UTF-8; name=favicon.ico Content-Location: http://ted.europa.eu/static/images/favicon.ico Content-Transfer-Encoding: Base64 AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAQAAAAA AAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8AQLJmvwCZ M/9Asma/////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// /wD///8A////AECyZr8AmTP/QLJmv////wD///8A////AP///wD///8A////AP// /wD///8A////AP///wD///8AQLJmv0CyZr9QuHKugMuZfqDYsl7///8A////AP// /wD///8A////AP///wD///8A////AP///wD///8A////AACZM/8AmTP/gMuZfv// /wD///8A////AP///wD///8A////AP///wD///8A////AP///wBAsma/AJkz/wCZ M/8AmTP/AJkz/wCZM/8AmTP/AJkz/wCZM/8AmTP/AJkz/0CyZr////8A////AOXL sn7ly7J+OaVS3gCZM/8AmTP/AJkz/wCZM/8AmTP/AJkz/wCZM/8AmTP/AJkz/wCZ M/8gpUzegMuZfoDLmX7MmWb/zJlm/zOZP/8AmTP/AJkz/wCZM/8AmTP/AJkz/wCZ M/8AmTP/AJkz/wCZM/8AmTP/AJkz/wCZM/8AmTP/zJlm/8yZZv+lmVz/fF8f/3JM DP9yTAz/ckwM/3JMDP9yTAz/ckwM/3JMDP9yTAz/Vl8W/wCZM/8AmTP/AJkz/8yZ Zv/MmWb/zJlm/6VMGf+ZMwD/mTMA/5kzAP+ZMwD/mTMA/5kzAP+ZMwD/mTMA/3JM DP8AmTP/AJkz/wCZM//MmWb/zJlm/8yZZv+lTBn/mTMA/5kzAP+ZMwD/mTMA/5kz AP+ZMwD/mTMA/5kzAP9yTAz/AJkz/wCZM/8AmTP/zJlm/8yZZv/MmWb/pUwZ/5kz AP+ZMwD/mTMA/5kzAP+ZMwD/mTMA/5kzAP+ZMwD/ckwM/wCZM/8AmTP/AJkz/8yZ Zv/MmWb/zJlm/6VMGf+ZMwD/mTMA/5kzAP+ZMwD/mTMA/5kzAP+ZMwD/mTMA/3JM DP8AmTP/AJkz/wCZM//MmWb/zJlm/8yZZv+vXyz/pUwZ/6VMGf+lTBn/pUwZ/6VM Gf+lTBn/pUwZ/6VMGf98Xx//AJkz/wCZM/8AmTP/zJlm/8yZZv/MmWb/zJlm/8yZ Zv/MmWb/zJlm/8yZZv/MmWb/zJlm/8yZZv/MmWb/mZlZ/wCZM/8AmTP/AJkz//Hl 2D7x5dg+1ayCz8yZZv/MmWb/zJlm/8yZZv/MmWb/zJlm/8yZZv/MmWb/zJlm/7+Z Yv+irHXPwOXMPsDlzD7///8A////ANiyjL/MmWb/zJlm/8yZZv/MmWb/zJlm/8yZ Zv/MmWb/zJlm/8yZZv/MmWb/2LKMv////wD///8A/j8AAP4/AAD4/wAA+f8AAMAD AADAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAwAAwAMAAA== ------------d0hdjcToXFM5UQDnZDpxrW Content-Disposition: inline Content-Type: image/png Content-Location: http://ted.europa.eu/static/images/input-bg.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAAMgAAAAoCAIAAAA0fiJLAAAAGXRFWHRTb2Z0d2Fy ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAshJREFUeNrsmlFvI0EIgwH1///jQHcB M5MoursmeTh1bUXtttqn6JMxntGIEIr6tIxfAUWwKIJFESyKIlgUwaIIFkURLIpg UQSLoggW9d+DFSE8LKQ+D5bnr/MkmnxRn3QsEU/TIlfUB/V1epX2H/Oo/GKoN8GS 8apopvQwMCVb1HtgeSKl0p/CSyvREy/qdbCSqiZochb+VJJFvVM31M/DvY4h6Ijz ks8M9dSLo9AytEdal09yT7YsUWOcp14BK8BW1fAHYaZI8YlUlRFGuKif1Q0wKuyF UjYWsoX6eieY6Kl/y1hHnCrTiuh05fUcHbyqQS0nq7HI1EX9YCssZ7JYW2GPyOMF O9lSeFq9Hwxe1F/Ce3qSJTc1ExXNlhdw3lQF+NPkLNhHUH8AqwrS04YUSCVAJtsp zxa5Yi+9yBb1PLx72lIakqZvRVrU8dB2Fc1ZvePaET7kfjhS1INjnTxti6FhB7Sn KT0HosW2Rk5DQVFPw7sVKrEqBtU1FmOsa+sjRo6ZSMAoOFYalGrblWunqzUKAVkg 4wtyvcDkYrM0dl3U6VgFk6JQmIFY7UNtgvWfM3hh6rWBzUGQriVAePGGYPlAIyub z3AsSkz6QHp8qTCyh9Qld30E2bo0WLdopAJZSu/tp9osm5OfJKzXxofUBfIGL/YR 164bDLMv2o0M8dxRbtU4NPiZ7fcgaiucgagi285Y0U3Z01/OsdKNZrSVgZ2gbLS1 gWmfQ4+TrY/2/a06BVJslzMiuS1eL2M5fCU/y4pmT9R1qUFjtVwFnKF/920mDqar 6lLidc3wjlk2+6DoXdFQvfw0VQZG9phV2AUWTN+WSgniddW6ofHSnoZ72BrHOl64 4VqpATV9KLe2gOW4LWiTtCZ18bv/9WCVxxhuZdUpoUx4BwRnAoP9jJPV2U7V94aK VQDTxCzfbjlHLMOjfqu+BRgAf2tdxRP9vCYAAAAASUVORK5CYII= ------------d0hdjcToXFM5UQDnZDpxrW Content-Disposition: inline Content-Type: image/png Content-Location: http://ted.europa.eu/static/images/top_gradient.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAAAEAAAANCAIAAADntZOlAAAACXBIWXMAAAsTAAAL EwEAmpwYAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAClJ REFUeNpiMp7JwMTAgB2Xiu9mkhATZnz28g2TID8vExsrCxMQAAQYAHPUBWsLaZEu AAAAAElFTkSuQmCC ------------d0hdjcToXFM5UQDnZDpxrW Content-Disposition: inline Content-Type: image/png Content-Location: http://ted.europa.eu/static/images/europa_logo.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAAD4AAAAZCAYAAABpaJ3KAAAABGdBTUEAALGPC/xh BQAAAAlwSFlzAAALEAAACxABrSO9dQAAABh0RVh0U29mdHdhcmUAUGFpbnQuTkVU IHYzLjM2qefiJQAAAtFJREFUWEftmMFKHEEQhtcnyCP4CD5CLjkKHj3kIOSSUxA8 edKDD7AQCAQvSw7xtughB4mHEBD0tmKISNRsYCGJCSiLEhSEyn49+y/lZGZnNmyU ZlLQ7Ex3dVf9VX9Vj05YT2pVFIBXUWpVBB1Y/h/4CBFonfywxtaBLb/etZmVN/Zw sRnG+s7xCKfcr2rpjLe/d21+9b1NPmlYbfp55ngw+9LQi0EKgQcgv45s6tlaAAtw sky23+13wji/uIoB6y0fc4EDhgwD0D4vWLvzKZpslslCJnBqeK7+NtRxkMPHZl9f JM/X38wu98y622anr5J53iOT7IynwX14ZJYeX5YS8BlC4Hyt/6u6L3tult6fwG8u zH42zQD2ceY2YDLPGoHJEbo7vSCUSE9gDf1BQlBY1zw9wwtO6sbgDA3mBIDbQ02W cswSSpW90sOul8LmRn0Pss1zgeCgBy7D2oZDWtftQINEAMTN4G8N3gmmmqsCy3x9 oxV009coPrCuPejIhvwYDvxsMwF99DRhAM9kfIgQZRnCmEBoC+s45NcAIHZIXwFQ nyFg/irVHgHU+Qo8PUq+jAYcykN1sswzAsUJwBCqyzDAlB0MIziPo+h44KIrVBZw gCnbPmisMy+RDTGGda5bqO3ZUz7jAKRr94WNRBAn9aWmX+ZwFMflPMZxQo6RAVF2 QLf+hxCZhK4wQfTFFvoeJGdwpq9r9qCjoPKskvF0H9xQfeP5VO9llQMwlq67vC83 5nHA1yGBEEU5xzcZBUcBUvNCXwP7EtUsvwRGgeBZAZNvrKnBMefP4bxM4NpQ5usM XdigTgwwBnvVdADEe7qz4gB709eN9AGjr0JfBqI7gROFxUTs+PNUUiTDS3FXH9bJ 7nDNZzSdvSI3VIJRAvcdehx/G0STcd0WacoWZTtvPRrg/rb4W7BRUh2naWDj+mdH NBkfR5ajzfg4wVc2478BAkxxPJ0Sx9sAAAAASUVORK5CYII= ------------d0hdjcToXFM5UQDnZDpxrW Content-Disposition: inline Content-Type: image/png Content-Location: http://ted.europa.eu/static/images/europa_logo_hover.png Content-Transfer-Encoding: Base64 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 ------------d0hdjcToXFM5UQDnZDpxrW Content-Disposition: inline Content-Type: image/gif Content-Location: http://ted.europa.eu/static/images/GradientGreen.gif Content-Transfer-Encoding: Base64 R0lGODlhAQAUALMAADSUCDOYATmDKTt8Nzt7OZnMgDSWBTSUCTqALzp/MTmEKDOX BDaOFDWRDjiHITeLGiH5BAAAAAAALAAAAAABABQAAAQPsARzGntOJDKQcg/TAEsE ADs= ------------d0hdjcToXFM5UQDnZDpxrW Content-Disposition: inline Content-Type: image/gif Content-Location: http://ted.europa.eu/static/images/GradientBlue.gif Content-Transfer-Encoding: Base64 R0lGODlhAQAUAMQAAEt3uypfoy9ipjJlqTNmqi5ipj9usiRbnzxssEBusjtrrzdo rCleokp2ukJwtEh1uUVztzhprSVcoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAABABQAQAURILAQ0NEYRYAAj6MMjCRE SQgAOw== ------------d0hdjcToXFM5UQDnZDpxrW Content-Disposition: inline Content-Type: image/png Content-Location: http://ted.europa.eu/static/images/calendar.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAABEAAAAPCAYAAAACsSQRAAAAGXRFWHRTb2Z0d2Fy ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAYdJREFUeNqkU8tOwkAUPaUvWlCQuGkT ExM/QJJuXJjowo1b3fEVfgj+DPyAK9zwA7BiA2xE0Br7hHrv0EFo3CAnOT135rbn zp2ZKsjx8HSVNR9PYWtVVPQGqvoJaZ1YIx7DJrVJkzTG4vsNH8E7PsM5/GiBEhs4 jntjqDbUkop4FSFZBaQhaZQzRppT10yYmkU0YRB11VybMCz1CBWthjRL6KNwzSUz +iWZMEzdIgM2Kgtq0sSpXuD67A5fyRyaolEFerFUhiGUK5ahl9aVAQUNy0WYBoiI 0uS2YbvwnHv4vo/hcCgml8QgJxDn9GVdeJ4ndNOOBJswHcfBaDQSymPDMDaxzElI kzoOgGynWVzNdDpFFEVCeSwaiuOdXNFkB67rin4nk8mmb26B5+VecK5ocr5tMhgM xEuz2QzdbldU5z3gfeFY5nZAly1rt9sZYzweZ/1+X8SdTkcoj3lexts5xp/t7LsS jVZxWdyPVqu19+mI4+31Xun5/K8jVvjnI3055J78CDAAFQT7EAbzKKsAAAAASUVO RK5CYII= ------------d0hdjcToXFM5UQDnZDpxrW Content-Disposition: inline Content-Type: image/gif Content-Location: http://ted.europa.eu/static/images/menu-tabs-bg.gif Content-Transfer-Encoding: Base64 R0lGODlhAwAlAKIAAOPm6aavuvX2+Pz9/LO6xDOZAP///wAAACH5BAAAAAAALAAA AAADACUAAAMUaLrc/jDK6Yq9OOsbOvlAKIxDmQAAOw== ------------d0hdjcToXFM5UQDnZDpxrW Content-Disposition: inline Content-Type: image/gif Content-Location: http://ted.europa.eu/static/images/menu-tab-ted-bg.gif Content-Transfer-Encoding: Base64 R0lGODlhAgAZAKIAADSVBzx9ODWREDeMGTmEKTOZAAAAAAAAACH5BAAAAAAALAAA AAACABkAAAMTWLoM/iKKQQexJAcSus9ZNUhCAgA7 ------------d0hdjcToXFM5UQDnZDpxrW Content-Disposition: inline Content-Type: image/gif Content-Location: http://ted.europa.eu/static/images/magnifier.gif Content-Transfer-Encoding: Base64 R0lGODlhEwAVANUAAIXDZpjK5G2hZnq4rmWxP9bqzZzNhN3p9KzY4+Xy4JK6jHi7 VrrcqcbU6O3x9eru9MfX+9Ld75bEvtri6rzL5tDd1szlv2yLqqu+4LzQ+73Ix2SX y/z9/LLI9cbVyt/r3vD37TSVB1udgq7WmjWREDmEKUiiHTeMGXup1zx9OIq957zi 9Z7U8zOZAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAATABUAAAbeQJdwKAQxDIZRgsgsAlqh EIl0EhSawoKpZRINvoJSSdMEbUUqVYDFlqRSHuaiJUKl16zVCvEGDUFcKHYqbHoP DgolDEMjdIJphSsOHBMlC0MGIXWDbHkHDwcmApgkm3eRegQEjKWPap15LCSrWaUb ghkrESudAyQARCYnFyodKwcHEWwBJiFLQxViAxQNDRB6AQIhwEQjJ28iGAgQCAMm s35CAATCbykloidTAOkujSHfCiAjAsIEAM+E3PtWwgIWJlBOiDlx5eAQYSVSnBjh kEiBiBMrMvmggKLGIUEAADs= ------------d0hdjcToXFM5UQDnZDpxrW Content-Disposition: inline Content-Type: image/gif Content-Location: http://ted.europa.eu/static/images/BulletBlue.gif Content-Transfer-Encoding: Base64 R0lGODlhCAAIAIAAAIKe0lh+wyH5BAAAAAAALAAAAAAIAAgAAAIJhG+hy+0PowwF ADs= ------------d0hdjcToXFM5UQDnZDpxrW Content-Disposition: inline Content-Type: image/gif Content-Location: http://ted.europa.eu/static/images/BulltGreen.gif Content-Transfer-Encoding: Base64 R0lGODlhCAAIAJEAAPP58M3mwDOZAAAAACH5BAAAAAAALAAAAAAIAAgAAAINRI4n yxLNHnSTTglxKwA7 ------------d0hdjcToXFM5UQDnZDpxrW Content-Disposition: inline Content-Type: image/gif Content-Location: http://ted.europa.eu/static/images/log-button-bg.gif Content-Transfer-Encoding: Base64 R0lGODlhFAAUALMAAOLi4uPi4uPj4+Pj5Pz8/O3t7eHh4d/f3+Dg4Pr6+gAAAAAA AAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAAUABQAAAQ+MMlJq7046827/2AoZkRp niharGzrukcsz3Rt3zOi73zv/8CgsGcoGo/IpHJpAAAMAYF0Sq0KnIKBdsvtdiMA Ow== ------------d0hdjcToXFM5UQDnZDpxrW Content-Disposition: inline Content-Type: image/gif Content-Location: http://ted.europa.eu/static/images/menu-arrow.gif Content-Transfer-Encoding: Base64 R0lGODlhBwALAKIAAPLz9MzR2LO6xD5Raf///wAAAAAAAAAAACH5BAAAAAAALAAA AAAHAAsAAAMXSLoqwkSMt+QIdWgctQbd1ogj1ZjQkgAAOw== ------------d0hdjcToXFM5UQDnZDpxrW Content-Disposition: inline Content-Type: image/gif Content-Location: http://ted.europa.eu/static/images/RSS.gif Content-Transfer-Encoding: Base64 R0lGODlhDQANAOYAAJrHiDiFJTeKGzp/MvL38GmnVGmmV4G4bfL38drn2Nrm2ubw 44SvfpvCkoOyd0OQK0KVI5rIhnWvYlukPk6dMIC7Znikds3hx1qpNJvEjcHWwL/c tEaHP1SMUVKPSpzBk5C2jOXx4Nnp1IG5as3ixc3gyIOwfIzEcubv5HaramirTWaw Q1GUQdno1c7ezcDZupC3imufY5y/mF+YVo+5h+bu5sDauLTTqZnKgabOlszjwzWP Ezt7OTqALzaOFTmEKDWSDTeJHjSVBjOYATSTC////wAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAANAA0AAAeEgEOCg4SDQis4JxhCjI2M QBFFkiEVQJaXPgckBJJFOhA+oT5BpEEGF5IiD6U/H0UtDj80kiU/tgMynQkcIJIM AwM8HRYakgo8LkU1PDw9PR49JpIwM5IxPQEpRQgsL0UoAQtFDQECGZIFEpICN0U2 AjsTGzk7FAAAOyoAIztE/v8A/wUCADs= ------------d0hdjcToXFM5UQDnZDpxrW Content-Disposition: inline Content-Type: image/png Content-Location: http://ted.europa.eu/static/images/link-eurlex.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAAGEAAAAgCAMAAAA13OZYAAAAGXRFWHRTb2Z0d2Fy ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAFdQTFRF+Pr69fb4h8/n3en0a8Thpq+6 vOL17fH1MKzWs7rE6u708vP01dvh4+bpg5GdrNjje4mYntTzuMTQzNHYxszU2uLq vcjHjJilmKOu/P38cH6QAZnM////M2W5sgAAArBJREFUeNq8VouSqyAMBVFAwEfV 7gr1/7/zhgCK2nbdnelNpwIJ5IS8lCyfJvIfEFyi1q/dnCRh1tRzC6LKHA8+Ho/i KkJfBaqfITj3XQ111buZ/h1hztcnhLiuXPVhhGV26sMIg5s+jDC9ReClfMiSw4yB QHpWEXdcRqiceYlAy0egctO8Il1FUH37OtIeoCzKCCFhpMhjh2xVLxFoM/R98xKB R2VFGL31JV/lWcWZ5/UQqrGiryuuDLYj7xaRZPTRBS+1w1C3rg6uingHBNDWgek8 xRb9FH10NQ6VGzCic6ADQjA5EPJYivp1BNr3b7wUlUtZFB1LifqQ9Ff1MEQ/PUWQ PrJsE7EtdZ8gtCkpVWhESdo6+i7SMhf5KK/JekJYC6t2Y44wvel8mJ5oQJeStqOp 4E4Iqu9NcMv33mvtufMF4qHiIAwSPROL+ZZMOL4fFtO7dob3QUuXQ1+qXiIs5bpi mKoqpizbV1wfjjZV6/o2BpbGq+Al8qoWq84buqf0CmV5W1LvwEqX3CN81YnwTgYm E/wNvsFV/RVVNvWQX4GVibwSXiRSogAeizsK4RHG3cnxa9QwaBjR1GEMfDsNIt8n bonYYjnv4IcP0Nx1HScLgaET6CUz5gfH1KPN6MV6iutm2nc+yjlnSHQRDKb+yoT6 4AkOa2gijIsQ6Xve95XRCcv4cFFzDylnjN2/uUB3Si6hhMilwjMU/GK2Nvdc2KQP KNL4DfQeTG/uejkhxBq0lBJKCLEJBRhIqaZVfn2dIWh8oqG0EYem4bWsWzOyG8cm BJ1XEl2va4W3gSgBe7XSyxmBrFuB8GHTNbIpIFAdL4Wx0usxTfAZiJ6+Pjcjf/zW INRu+JZuzgxrVG0hSw76NiN/RLC5edkimEg2Z/8dwe7OHaZbglxUeKJ/AgwAFRYi NvjJejUAAAAASUVORK5CYII= ------------d0hdjcToXFM5UQDnZDpxrW Content-Disposition: inline Content-Type: image/png Content-Location: http://ted.europa.eu/static/images/link-bookshop.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAAJIAAAAgCAMAAADOp9HCAAAAGXRFWHRTb2Z0d2Fy ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAGZQTFRFmKOu97Q7+tKJ/+PHpq+69fb4 //Hg//Tp6u701dvh/+vX+Pr6+8pfg5Gd4+bpuMTQ2uLqjJile4mYs7rE7fH1zNHY 8vP0/u7KxszU/N+s/uiwvcjH2eHc//nzcH6Q/P389Z4B////qFndtAAAA9RJREFU eNrMl4mSpCAMQNUVxfZqjz7mEJr//8kNCUFQd6e7dmtqqJomAUyeMQQmMf+3ZY/H 4x9NJN+HpJJnkRLFTUbPeanImhQcpc3b9yHlroljpIdv6fJdSMfPRUhpmmL3c5Ay 6BYLdftRSKZg4ecgrcJ7Y7P9nVeGKiM1brHMW9UmdzQ49Mmo2rxzj4l+UCNNGdPl g527vIb0zh+ucdne0HykOqTM6d2o8j4faDOrMZ8m2OAXImpVMk2DyskbKH0Oq8UL SO9p4PWB2Z7tVUK68fZMEMZIihKaky2NDaqyXa+mwNsEhEERqMxXRSArXUoB2mKD U+xURFp3Qpg/LPeqh98L/npqnsxVFZTK/mskjsqyZvuBaiwR1dV2FDukCj3lFCvL dg8mO5U/9+HSLMtSV5dSLk8kbFSLlK1b866G6hipbd2wxGzy3sb2hfR2nr5GCmvq BfZRLw6QNo68OqhXisAhw9+jZKEgM+7PI7UvITW4m75GMps6Lwfc909+uGGLtFm5 jdLjqfS+bY5oGQXir+ld7dM7Vy4dJ1fRVqSGtvuNutLt+o2aeezw7FHtDukPRSBR 3RZJjqOrYIPZ3wSs02dKJeLbMtC515t2SGupzNc0EXlcKvG+ZCrYIglU9laY/X3p Zp48UMoU+SUcWz0cGoPYI20OFDhs8ECxZ9wQ3SrtAdiqsZ183PRb4y5LGacH1Sh/ yQxVPnbf7FCp7UHLxjjuFR0h5jqBo8F9PqVaOAMHOnar6uwasn+iDj+a77m/1oZM C2snHatWs4J9D9tDlKrPTnbOWHV2N4BKUld92rlOU5Smj8tHnt9rQDp3QSrp83m2 S3Tnh0t0dzoxk0bpRD536gmRcBBnDRm7QscWxXkmT5ga8iz9BjD1ZfoApE4GSNdu 5jzvaocEODY6ugChJB26paBxp+oTqXaUBovVao0+2FHdWcC5E+xIh1/1LhMjrwHS LGu+YEn3yFIUBSURCOCnxF8aL3nQL8NZN+WbQB/sqEbLkiNBKiPV1Tkxc4h0nf0n nB3cUpYlxR8EG6WyJEIUdKziavtX6jUZxHy1Gjsiy96tnkMk00FdEiJ8H7EaYiRo mgVgwF/Wtyot4ifwtYVwltg2WtarJ5Tk7L8TINUBUh0gOavoVGu9OOcHDH9GAs81 07Ejsuzd0rvP7FjMialrTQ3nV746RAr8hAx6p9rVa2DBuNkZJMHP6DoiFCIxWodI QQpoL2yWkBB0G9UrkT0v+4XhMBMCYBI9FSGtY9qjrUw6HI7VaO0RUtzpjZYYHf1f d4D0T80B7p1HU1HofgswAGxj+d5JbS4IAAAAAElFTkSuQmCC ------------d0hdjcToXFM5UQDnZDpxrW Content-Disposition: inline Content-Type: image/gif Content-Location: http://ted.europa.eu/static/images/h2bg.gif Content-Transfer-Encoding: Base64 R0lGODlhSQIGAMQAAOzs7HCodSqSTfT49Nbj1Mnbx6fGpoSyhb3TvKerp5O6ku3y 7bXPtUWYWJbCqkyiZ7Ozs9jb2LjYwKTQs1ygZpunn57AnK/KrsbGxuHr3+Xl5fn5 +ZTMrS6cXwyMRf///yH5BAAAAAAALAAAAABJAgYAAAX/4CeOZGmeaKqubOu+cCzP dG3feK7vfO//wGDOQywaj8ikcslsOp/QqHRKrVqvWIFW2+h2H5SwOEAuH85ohVph aRvelwuDgagX7gWCnpDpL/4DGxtChIWGh4iJKliMjY6PkJGSk1lbAl5fYmNlZGhp a20WbwZxc3UIeHl7fRl/C4GDirKztLW2JB25uru8vb6/wMHCw8TFxsfIycrLzM29 D9DQm5wBnp+goaNxcnSnqap6rK2Agbfm5+jpMxITHO7v8PHy8/T19vf4+fr7/P3+ /wAD/qvgwB1Bgw4mTKhgQGEFbg/rVGAgQUICBncSoCqgMaOqBB8L9EkQYWSEPxAI g6DUMGAABA2DIAAQIZPmzA81cd7MyXOnT5tAdQbtOfSn0KNEkRpNynSp06JQlUZt OvWp1KtUsd7EEEEEV69dP3xVR7as2UQwRaT9sLZtLLdq38qNS5ftXLt14eLdq7fv Xb95/woOTJjvYMOFASNerLjxYceJH0uOLALAgsqXP1jGLCIEADs= ------------d0hdjcToXFM5UQDnZDpxrW Content-Disposition: inline Content-Type: image/png Content-Location: http://ted.europa.eu/static/images/helpactionbg.png Content-Transfer-Encoding: Base64 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 WQAAAABJRU5ErkJggg== ------------d0hdjcToXFM5UQDnZDpxrW Content-Disposition: inline Content-Type: image/png Content-Location: http://ted.europa.eu/static/images/loading-bg.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAAPoAAAAyCAMAAABCiTbWAAAACXBIWXMAAAsTAAAL EwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj33 3vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEs DIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIe EeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH /w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAn f+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJ V2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4 mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHg g/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl 7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/A V/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5 WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQ WHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAA RKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv 1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4 IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGy UT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPE bDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhM WE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPE NyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD 5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2h tlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0 dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHK CpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2ep O6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN 2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIp G6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3n U9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36 p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYP jGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLn m+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cR p7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0H DYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dn F2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofc n8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh 7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJ gUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5p DoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85 ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7 F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/R NtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9 MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo 1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5 sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWF fevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTP ZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJ zs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ +7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3v dy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtb Ylu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ7 52PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7 nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9 zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9D BY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfy l5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT 0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADq YAAAOpgAABdvkl/FRgAAAwBQTFRFAAAA////0f/R6//r7f/t8P/w8f/x/v/+t/+1 vf+82v/Yvf+5vv+6wf+8wv+98P/vw/+93P/Z9P/zyP/Byf/B+P/39f/z2v/S1f/K 1//M2//S1//L2f/N3f/T4v/Y4//Z4//a8P/r/P/78f/r8v/r/P/6/v/9////AAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAWtDEIQAAACh0Uk5T//////////////////// ////////////////////////////////AL6qLhgAAADKSURBVHja7NtJEoIwFEXR H7vYgC0qii2Cf/87dIAIQ+fv3h2cSqUyeTF3d9PKm8zdzYJSrd3k5D+7uavJQ9Cl l82xK9IP8UuXu+rh/bL2XZO76zdd+kmXnkOHDh06dOjQoUOHDh06dOjQoUOHDh06 dOjQoUOHDh06dOh/VurSV7r0+aWj76Xkk2W3pbHnVkg+nmVVR4/HzUgEPhxM19du N2dWn3dpslAoSbNrbT26xepR5AoV9yr25sFy9ffwar8A3N39AwAA//8DAEFvdUzx gJkGAAAAAElFTkSuQmCC ------------d0hdjcToXFM5UQDnZDpxrW Content-Disposition: inline Content-Type: image/gif Content-Location: http://ted.europa.eu/static/images/tabright.gif Content-Transfer-Encoding: Base64 R0lGODlhkAEZAPcAAAAAAAEBAQICAgMDAwQEBAUFBQYGBgcHBwgICAkJCQoKCgsL CwwMDA0NDQ4ODg8PDxAQEBERERISEhMTExQUFBUVFRYWFhcXFxgYGBkZGRoaGhsb GxwcHB0dHR4eHh8fHyAgICEhISIiIiMjIyQkJCUlJSYmJicnJygoKCkpKSoqKisr KywsLC0tLS4uLi8vLzAwMDExMTIyMjMzMzQ0NDU1NTY2Njc3Nzg4ODk5OTo6Ojs7 Ozw8PD09PT4+Pj8/P0BAQEFBQUJCQkNDQ0REREVFRUZGRkdHR0hISElJSUpKSktL S0xMTE1NTU5OTk9PT1BQUFFRUVJSUlNTU1RUVFVVVVZWVldXV1hYWFlZWVpaWltb W1xcXF1dXV5eXl9fX2BgYGFhYWJiYmNjY2RkZGVlZWZmZmdnZ2hoaGlpaWpqamtr a2xsbG1tbW5ubm9vb3BwcHFxcXJycnNzc3R0dHV1dXZ2dnd3d3h4eHl5eXp6ent7 e3x8fH19fX5+fn9/f4CAgIGBgYKCgoODg4SEhIWFhYaGhoeHh4iIiImJiYqKiouL i4yMjI2NjY6Ojo+Pj5CQkJGRkZKSkpOTk5SUlJWVlZaWlpeXl5iYmJmZmZqampub m5ycnJ2dnZ6enp+fn6CgoKGhoaKioqOjo6SkpKWlpaampqenp6ioqKmpqaqqqqur q6ysrK2tra6urq+vr7CwsLGxsbKysrOzs7S0tLW1tba2tre3t7i4uLm5ubq6uru7 u7y8vL29vb6+vr+/v8DAwMHBwcLCwsPDw8TExMXFxcbGxsfHx8jIyMnJycrKysvL y8zMzM3Nzc7Ozs/Pz9DQ0NHR0dLS0tPT09TU1NXV1dbW1tfX19jY2NnZ2dra2tvb 29zc3N3d3d7e3t/f3+Dg4OHh4eLi4uPj4+Tk5OXl5ebm5ufn5+jo6Onp6erq6uvr 6+zs7O3t7e7u7u/v7/Dw8PHx8fLy8vPz8/T09PX19fb29vf39/j4+Pn5+fr6+vv7 +/z8/P39/f7+/v///ywAAAAAkAEZAAAI/wAHCBxIcIAAgwUTKlzIsKHDhxAjSpxI saJFgQcRFhTAcWPEjAlBauwoUaTGiwNNeiQoUiXJhi5RniwZcoAMd//c6WznjmfP n+186hxKtKjRo0GTKl3KtGnSo1CjGnVKtarVq1izan3KU6hQoF+f7uzJdOdXsmiD ku06dqhSpETDsu0qd61duXPpmk3r1SvQvWbV+qTbF+xevWrXBg32wcG/e/YiS55M ubLly5gza97MubPnz6BDi8YMebTp0/ZKo17tWTXp0a5Ts5bHwM+/27hz697Nu7fv 38CDCx9OvLjx48iTK1/OvLnz59CR73uDIbr169iza9/Ovbv379v3Wf8bAL68+fPo 06tfz/73vnbk28ufT7++/fvg9cHHz7+///8A1pcPfPIUaOCBCCao4IIMNujggxBG KOGEFFZo4YUYZqjhhhx26OGE8AA1wGBxKSbViSimqOKKLLaI4lZZuZjiW4KxBVhi fwX21l811lVUjzn+VKKQQublll5toQUYkW4VieNhdhU5llg2Lkkik3412RZ87LBD lZddhinmmGSWGSaMaKapJoxmtunmmWteBWZVXipVZzt33ulUl3jqqeeXQdXJJ552 LiWooIH6mSehTP0555+FzhloUn5SKqmcdFI6KaKBDnCOOZ+CCuo5n5Iaqjmopqrq qqyyauqrsMb/KiusrdZqq6uz5qqrqbf26uuvwI6KKqmivjpsqacKO+yxvNLKbLPO EjsqsbwWO22q0qqK7LbZliostN4ie+2y1JZLrbWnhirutOque2yx6mrL7jkDiGPv vfjmq+++/Pbr778AByzwwAQXbPDBCPM7TsIM77twwwE/3K/EEFeML8USU5yvxAN4 043HH3sMsjcgd2PyySinrPLKLLfs8skkxyzzzDTXbPPNOOes884lv+xzyiSHHLLI Iw9NtNAxGz30x0wfbfTRNAutNNIjB700zFDLbLLITWdNdNBOd33z1kmTTbbWW1N9 Ntc1L132ANhcg83cc8tN991456333nz3/+3334AHLvjghBdu+N1yX6O43YjXnbfi dCduN+OONx435ZHHrTnmmndu+eSZX8544qHjzTnikFs+OOiCs3466arPPYA0tEsz Te2034777rz37vvvwAcv/PDEF2/88cgjr/vv0yxve/K4Ox/98dIDXz302GfP+/W1 L8+98gM488z4z4hP/vnop6/++uy37/778Mcv//z012+/+ua3L/7++affv/7n+9/4 8se/8g3wgAF0hgIRiD4CMhB/5VugAdnnwPkVEH4VPKAEGxhA9A1AGcpIRjJACMIR hvCEJEyhClfIQhKK8IUwjKEMZ0jDGtrwhjjMoQ53KMIW+vCHKexhEP9ZaMIijtCE Q3ThC10YRCQisYQlPOITUSjFJgpRiU4U4hOXWMUeSvGKTgxhFcUoRi4acYtHHOIY vVjEFW5xhQM4hhznaIw52vGOeMyjHvfIxz7S0RiADKQgB0nIQtbRj4i8oyEXychA JvKRcjzkHg8pSUg6MpJ4pGQlMUnHTmaSk6A8xiY7OUpI5rGSkiylHVUpSkWaUo91 3OQhBzAMYdjylrjMpS53ycte+vKXuhyGMIdJzGIa85jCBKYyl8nMXSLzmdAkJi5r aUtqCiOZ1qzmNYM5zVomU5vApOY3t5nNX4ozm+K8ZTl5uc5pqnOY22SnPME5T2e2 U5npHAAw9vn/C2D8op/75GdAB0rQghr0oAhN6EH/ydCGOvShEGWoQie60Iha9KL/ pKhGF0rQjPpzogAFaEBF+lGKhvSjJN1oQT0q0I4OVKQkTalBWdrSkdr0pTWdqU5V OtEB8OKnvNhFUIE6VKIa9ahITapSl8rUpjr1qVCNqlSnSlWiCnWou7gqUK8q1K4u 1atbzapRtRrWom61rEgVa1G7ytWz/pSsTPWqVufq1rqyFatBhatZj5pVtuo1rXvF Ky8GkIvCGvawiE2sYhfL2MY69rGQjaxkJ0vZylo2sbhobGYZu9nLevazke0saD2L i86KdrSmjewAbmGL1rK2tba4hWxjK9vastr2trjNrW53y9ve+ta3sA2ucIdL3OIa 97jITa5yh/va17rWubGlbXSja9vpzna21JVucKFr3ea6Fras9S54rZvd63J3u9C9 7njV613xPve72O0ueGtL29t297z0fW949RvbARy3ub8NcHyXS+ACJ1fACE7wbw1s 4Piqd7r1fTCEsWve78J3u+997nmZu14Ia7fD3KXvhqWb3/1aOLsnJnF9qRveFptY vPm9cHq1O9sBBAQAOw== ------------d0hdjcToXFM5UQDnZDpxrW Content-Disposition: inline Content-Type: image/gif Content-Location: http://ted.europa.eu/static/images/tableft.gif Content-Transfer-Encoding: Base64 R0lGODlhDgAZAPcAAAAAAAEBAQICAgMDAwQEBAUFBQYGBgcHBwgICAkJCQoKCgsL CwwMDA0NDQ4ODg8PDxAQEBERERISEhMTExQUFBUVFRYWFhcXFxgYGBkZGRoaGhsb GxwcHB0dHR4eHh8fHyAgICEhISIiIiMjIyQkJCUlJSYmJicnJygoKCkpKSoqKisr KywsLC0tLS4uLi8vLzAwMDExMTIyMjMzMzQ0NDU1NTY2Njc3Nzg4ODk5OTo6Ojs7 Ozw8PD09PT4+Pj8/P0BAQEFBQUJCQkNDQ0REREVFRUZGRkdHR0hISElJSUpKSktL S0xMTE1NTU5OTk9PT1BQUFFRUVJSUlNTU1RUVFVVVVZWVldXV1hYWFlZWVpaWltb W1xcXF1dXV5eXl9fX2BgYGFhYWJiYmNjY2RkZGVlZWZmZmdnZ2hoaGlpaWpqamtr a2xsbG1tbW5ubm9vb3BwcHFxcXJycnNzc3R0dHV1dXZ2dnd3d3h4eHl5eXp6ent7 e3x8fH19fX5+fn9/f4CAgIGBgYKCgoODg4SEhIWFhYaGhoeHh4iIiImJiYqKiouL i4yMjI2NjY6Ojo+Pj5CQkJGRkZKSkpOTk5SUlJWVlZaWlpeXl5iYmJmZmZqampub m5ycnJ2dnZ6enp+fn6CgoKGhoaKioqOjo6SkpKWlpaampqenp6ioqKmpqaqqqqur q6ysrK2tra6urq+vr7CwsLGxsbKysrOzs7S0tLW1tba2tre3t7i4uLm5ubq6uru7 u7y8vL29vb6+vr+/v8DAwMHBwcLCwsPDw8TExMXFxcbGxsfHx8jIyMnJycrKysvL y8zMzM3Nzc7Ozs/Pz9DQ0NHR0dLS0tPT09TU1NXV1dbW1tfX19jY2NnZ2dra2tvb 29zc3N3d3d7e3t/f3+Dg4OHh4eLi4uPj4+Tk5OXl5ebm5ufn5+jo6Onp6erq6uvr 6+zs7O3t7e7u7u/v7/Dw8PHx8fLy8vPz8/T09PX19fb29vf39/j4+Pn5+fr6+vv7 +/z8/P39/f7+/v///ywAAAAADgAZAAAIxgD/vaMxoKDBAQQM/nsQIpi7h+0iPnz4 p4E8exgzarSH4c2+fyBDivw34NrHkSMHuDuJMqRKli1JtsMX06W7djfhydvJc6dK nEAnBh0QsahRowTMnVuqlOnSpQTEiRsnlepUqVIHePPWrdvWr2AHYBtLtixZAtOk qU2rtq3aAc/iyp0rd4Cyu8nu6t074Jjfv4D/DiBGbFjhw8MMJx4ArLHjx44H8OpF ubJlygNyad6cSxfnXANwib6F6xbp0aYJnBZdGrXogAA7 ------------d0hdjcToXFM5UQDnZDpxrW Content-Disposition: inline Content-Type: image/gif Content-Location: http://ted.europa.eu/static/images/tabactiveright.gif Content-Transfer-Encoding: Base64 R0lGODlhkAEaAMQAAGCAXb+/vwwQDKffolBQUJvPlsv/xtL/ztT/0eP/4J+fn9f/ 0/z//Pj/9+r/6Nj/1Mr/xfP/8u//7eH/3tP/z8//ysX/wMH/u9z/2b//uQAAAOX/ 4////wAAAAAAAAAAACH5BAEAABwALAAAAACQARoAAAX/oCaOZGmeaKqubOu+cCzP dG3feK7vMhFwnIxwSCwaj8ikcslsOp/QqHRKrVqv2Kx2Gx0ABAoOZkwum8/otHrN brvf8Lh8Tq/b7/i8fs+PIw4GBQIBG4WGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2e lhkABJ+kpaanqKmqq6ytqRkDGq6ztLW2t7i5uo1Csru/wMHCw8SuvcXIycrLzL8J GAu9XNPU1dbX2Nna29zaGt3g4eLj5OXm50waF+vs7e7v8PHy8/T19vf4+fr7/P3+ /wADChxI0J8GCwgTKlzIsKHDhxAjSpxIsaLFixgzatzIsaPHjyBDbtQAoaTJkyhT /6pcybKly5cwY8qcSbOmzZs4c+rcybOnT5waKggdSrSo0aNIkypdyrSp06dQo0qd SrWq1atYs2rdWlUDha9gw4odS7as2bNo06pdy7at27dw48qdS7eu3bt45Wp4wLev 37+AAwseTLiw4cOIEytezLix48eQI0ueTLnyYw19MmvezLmz58+gQ4sGrWGC6dOo U6tezbq169ewY8ueTbu27du4c+vezbu379+5fTUbTry48eOTNDhYzry58+fQo0uf Tr269evYs2vfzr279+/gw4sfT967Bgno06tfz769+/fw48ufT7++/fv48+vfz7+/ //8ABrifBhEUaOCBCCao4IOCDDbo4IMQRijhhBRWaOGFGGao4YYcdughhho0IOKI JJZo4okopqjiiiy26OKLMMYo44w01mjjjTjmqOOONWrAwI9ABinkkEQWaeSRSCap 5JJMNunkk1BGKeWUVFZp5ZVYSuljllx26eWXYIYp5phklinmlmamqeaabLbp5ptw HqlBCAA7 ------------d0hdjcToXFM5UQDnZDpxrW Content-Disposition: inline Content-Type: image/gif Content-Location: http://ted.europa.eu/static/images/tabactiveleft.gif Content-Transfer-Encoding: Base64 R0lGODlhCwAaAMQAAP///9L/zr+/v1BQUGCAXQwQDKffop+fn9D/y6LPnt7/29n/ 1vz//Pj/9+r/6Nj/1Mr/xfP/8u//7eH/3tP/z8//ysX/wMH/u9z/2b//ueX/4wAA AAAAAAAAAAAAAAAAACwAAAAACwAaAAAFdSAACMNmnhtwFISRvbBQJEGwYDg+EJjm /76NoQf8bTLEouaYLB4RGIXyCKu+qFbY5sLtejeWsHi8gZjP6E1lzW5vKPC4fPOo 2++bnD63mfj/gBtKQBsOhoeIGxKLjI0bEZCRkhsNlZaXGwyam5wpIp+gnqCgIQA7 ------------d0hdjcToXFM5UQDnZDpxrW Content-Disposition: inline Content-Type: image/gif Content-Location: http://ted.europa.eu/static/images/pixel.gif Content-Transfer-Encoding: Base64 R0lGODlhxAkBAIAAAAAAAP///yH5BAAAAAAALAAAAADECQEAAAIzhI+py+0Po5y0 2ouz3rz7D4biSJbmiabqyrbuC8fyTNf2jef6zvf+DwwKh8Si8YhMKicFADs= ------------d0hdjcToXFM5UQDnZDpxrW Content-Disposition: inline Content-Type: image/gif Content-Location: http://ted.europa.eu/static/images/rightarrow.gif Content-Transfer-Encoding: Base64 R0lGODlhBwAMAMQfAFOO2zt40TlzzaPC7EeG1nKh34Ot6hdUwnmn43ak4Iyy5WyL 1IGr42KL1X2p4Zm76rvR85K36CNuzYew5mGX3WKX4XCM0/v8/rXO8H2p6G6g4hpi yavI70N/05C15////yH5BAEAAB8ALAAAAAAHAAwAAAU44AR9JGlkWPkh3DSUGjck ClkN0UMlH/AwDAVBQPAkEoxOIzApOAKNi8SBgJI2CcGidNCqDhbVJwQAOw== ------------d0hdjcToXFM5UQDnZDpxrW Content-Disposition: inline Content-Type: image/png Content-Location: http://ted.europa.eu/static/images/bottomshadow.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAAAIAAAAGCAIAAABmRdhlAAAAGXRFWHRTb2Z0d2Fy ZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACtJREFUeNpiTElJYWBgYBEXFwdRXFxc IEpeXh5EGRoaAinGr1+/AimAAAMAWNoFcV1D6GcAAAAASUVORK5CYII= ------------d0hdjcToXFM5UQDnZDpxrW Content-Disposition: inline; filename=ted.css Content-Type: text/css; charset=utf-8; name=ted.css Content-Location: http://ted.europa.eu/static/css/ted.css Content-Transfer-Encoding: 8bit /* * Project: TED * Contractor: ARHS-Developments * * $HeadURL: http://forge.aris-lux.lan/svn/opoce-ted/trunk/TEDWebapp/src/main/webapp/static/css/ted.css $ * $Revision: 7043 $ * $Date: 2010-05-10 15:34:27 +0200 (Mon, 10 May 2010) $ * $Author: buissoni $ */ html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td { margin: 0; padding: 0; border: 0; outline: 0; font-weight: inherit; font-style: inherit; font-size: inherit; font-family: inherit; vertical-align: baseline; } /* remember to define focus styles! */ :focus { outline: 0; } /* tables still need 'cellspacing="0"' in the markup */ table { border-collapse: collapse; border-spacing: 0; } th, td { text-align: left; font-weight: normal; } blockquote:before, blockquote:after, q:before, q:after { content: ""; } blockquote, q { quotes: "" ""; } .clear{ clear:both; } html{ height:100%; font-size:100%; } * html{ background: url(../images/minus.gif) -1000px -1000px no-repeat; /* preload ie6 */ } body{ height:100%; background-color: #FFF; font-size: 0.8em; } * html body{ font-size: 0.8em; } p{ font-family:Arial; margin-bottom: 10px; } li{ font-family:Arial; } ins{ text-decoration: none; } optgroup{ font-weight: normal; } caption{ display: none; } legend{ position: absolute; left:-10000px; } /* Hack for chrome*/ html:not([lang*=""]) legend { display:none; } .red { color: #FF2222; } .bold{ font-weight: bold; } .hidden{ display: none; } .italic{ font-style: italic; } .margin35{ margin-left: 35px; } .disabledLink{ color: #888; display: block; margin-right: 0px; margin-top: 0px; } .imgButton{ width: auto; } .firstSubmit{ position: absolute; left: -34567px; } a{ text-decoration: none; } a:hover{ text-decoration: underline; } a:visited{ color: inherit; } a.external{ padding-right: 12px; background: url('../images/external_link2.gif') right center no-repeat; } span.underTable{ font-family: Verdana; } input.blueBg{ background: url('../images/input-bg.png') left center no-repeat; border: 1px solid #7f9db9; } input.disabled{ background:none; background-color: #DDD; } input.error, select.error, textarea.error{ outline: 1px solid red; } ul.square{ list-style: square; margin-left: 25px; } #mainContainer{ width:100%; min-width:1000px; position: relative; } /* HEADER */ #header { width: 100%; height: 140px; overflow: auto; z-index: 0; } #header h1 span{ display: none; } #header .noscriptLang{ position: relative; z-index: 6767; margin-top: 30px; } #top-gradient{ position: absolute; top: 0; height: 13px; width: 100%; background-image: url('../images/top_gradient.png'); background-repeat: repeat-x; } #europa-text { position: absolute; top: 11px; right: 0; left: 0; width: 30%; padding-left: 25px; font-family: "Trebuchet MS", Arial, "Sans Serif"; font-size: 0.9em; white-space: nowrap; float: left; color: #003399; } #europa-logo { display: inline-block; width: 62px; height: 25px; vertical-align: -8px; border: 0; background: url('../images/europa_logo.png') left top no-repeat; } #europa-logo a:visited {} #europa-logo a:hover {display: inline-block; background: url('../images/europa_logo_hover.png') left top no-repeat; } #europa-logo a:active {} /***** TOP MENU *****/ #top-menu { position:absolute; top: 13px; right: 0; font-family: "Trebuchet MS", Arial, "Sans Serif"; text-align: right; padding-right: 15px; z-index: 1; } #top-menu ul .item{display:none;} #top-menu ul:hover .item{display:block;padding:1px;margin:1px;} #top-menu ul:hover .item a{display: block; border: 1px solid #CCCCCC; color:#339900; padding-left: 12px; padding-right: 2px; text-decoration:none; } #top-menu ul:hover .item a:hover{color:#FFFFFF; background-color: #339900;} #top-menu ul{float:left;margin:0px;padding:2px;list-style:none;width: auto;} li.top { font-family: "Trebuchet MS", Arial, "Sans Serif"; display: inline; color: #BBB; } .top a {color:#5E6A77; text-decoration: none; font-size: 0.9em;} .top a:hover {color:#297700; text-decoration: none;} .noscriptLang a, noscriptLang a:visited{ color: #0000cc; outline: 1px solid #000; padding: 1px 2px; font: normal 0.85em Verdana; } * html .noscriptLang a{ border: 1px solid #000; } *+html .noscriptLang a{ border: 1px solid #000; } /***** END TOP MENU *****/ .logo { position: absolute; top: 40px; left: 17px; border: 0; z-index: 1; width: auto; } #po-link a { position: absolute; top:40px; left: 17px; width:78px; height:66px; border: 0; display: block; text-decoration: none; } #subtitle{ font-family: "Trebuchet MS", Arial, "Sans Serif"; font-size: 1.2em; color: #707E90; font-weight: bold; position: absolute; top: 89px; left: 113px; width: 600px; z-index: 45; } #langbox { position: absolute; top: 65px; right: 10px; z-index: 68688; } #breadcrumbs { margin-top: 116px; margin-left: 5px; margin-right: 9px; line-height: 20px; padding-left: 15px; background-image: url('../images/GradientGreen.gif'); background-repeat: repeat-x; font-family: "Trebuchet MS", Arial, "Sans Serif"; font-size: 0.9em; color: #FFFFFF; background-color: #EEE; } #breadcrumbs a {color:#FFFFFF; text-decoration: none;} #breadcrumbs a:hover {color:#CCCCCC;} #ojs-issue { position: absolute; top: 116px; right: 9px; line-height: 20px; padding-left: 15px; padding-right: 15px; border-left: 3px solid #FFFFFF; background-image: url('../images/GradientBlue.gif'); background-repeat: repeat-x; font-family: Georgia, Serif; font-size: 0.85em; background-color:#EEE; color: #FFFFFF; height: 20px; } #calendar { display: inline-block; width: 17px; height: 15px; vertical-align: -4px; border: 0; background: url('../images/calendar.png') left top no-repeat; } #calendar a:hover {display: inline-block; background: url('../images/calendar_hover.png') left top no-repeat; } /* FIN HEADER */ /*-----------Tabs menu ----------*/ #menuTabs{ height: 37px; margin-left:5px; margin-bottom: 5px; background: url('../images/menu-tabs-bg.gif') left bottom repeat-x; margin-right:5px; } #menuTabs ul{ float: left; margin-right: 5px; } #menuTabs ul li{ float: left; height: 24px; padding-left: 15px; padding-right: 15px; background: url('../images/GradientBlue.gif') left top repeat-x; margin-right: 5px; list-style: none; } #menuTabs ul li.ted{ background: url('../images/menu-tab-ted-bg.gif') left top repeat-x; } #menuTabs ul li a{ color: #FFF; font: bold 0.9em Verdana; line-height: 20px; } #menuTabs ul li a:hover{ text-decoration: none; } .quickSearch{ float: right; } .quickSearch fieldset{ float: left; padding-left: 25px; background: url('../images/magnifier.gif') left center no-repeat; } .quickSearch input.qsearch{ width: 250px; margin-right: -8px; font: normal 0.9em "Trebuchet MS", Verdana; color: #3E5169; vertical-align: top; margin-top: 0px; } .quickSearch input.button{ width: 20px; height: 20px; margin-right: 5px; } * html .quickSearch input.qsearch{ margin-right: 6px; } * html .quickSearch input.button{ margin-top: 1px; } *+html .quickSearch input.button{ margin-top: 1px; } .quickSearch span{ margin-right: 5px; } .quickSearch a{ font:bold 1em Arial; color:#013499; white-space: nowrap; } /*-----------Left menu ----------*/ #menu { width:182px; margin-left:5px; display: block; font-family: Arial; float: left; /*background: url('../images/leftshadow.png') 174px top repeat-y;*/ } #menu a, #menu a:visited{ font-size: 0.9em; color:#33F; } #menu div{ margin-bottom: 15px; } #menu #browseBy ul{ margin-bottom: 10px; list-style-position: inside; margin-left: 0; } #menu #browseBy ul li{ background: url(../images/BulletBlue.gif) left 6px no-repeat; padding: 3px 3px 3px 20px; width:160px; list-style-type:none; border-bottom: 1px solid #BBB; } #menu #browseBy ul li:hover{ background: url(../images/BulltGreen.gif) left 6px no-repeat; } *+html #menu #browseBy ul{ margin-left: -13px; } *+html #menu #browseBy ul li{ width: 154px; } * html #menu #browseBy ul{ margin-left: -13px; } * html #menu #browseBy ul li{ width: 177px; } #menu #browseBy ul li.selected{ background: url('../images/MenuActive.gif') center center repeat; font-weight: bold; } #menu #browseBy ul li a, #menu #browseBy ul li a:visited{ color: #587EC3; line-height: 15px; } #menu #browseBy ul li a:hover{ text-decoration: none; color: #339900; } /*---------Login-------*/ #loginDiv{ background-color: #DDE9F4; padding: 5px; border: 1px solid #C7CDD4; } #menu .title{ font: bold 1.1em Verdana; margin-left: 20px; color: #4B77BB ; } #loginDiv ul{ list-style: none; } #loginDiv a, #loginDiv a:visited{ color: #3E5169; text-decoration: underline; font-family:"Trebuchet MS", Arial, "Sans Serif"; } #menu input{ width: 120px; margin-bottom: 7px; height: 18px; } * html #menu input{ height: 23px; } #menu .navForm { margin-top: 5px; padding-left: 10px; margin-bottom: 0px; } #menu input.password{ width: 120px; float: left; } #menu input.button{ height: 24px; padding: 1px; border: 1px solid #BBB; background: url('../images/log-button-bg.gif') center center no-repeat; width: 24px; font-weight:bold; margin-left: 5px; padding-bottom: 2px; } input.checkbox{ width: auto; height: auto; } #menu input.checkbox{ width: auto; height: auto; } * html #menu input.checkbox{ height: 10px; } *+html #menu input.checkbox{ height: 10px; } #myTed{ background-color: #dde9f4; padding-top: 3px; border: 1px solid #DDD; } #myTed ul{ background-color: #FFF; margin-top: 3px; border-bottom: 1px solid #FFF; } #myTed ul li{ border-top: 1px solid #DDD; padding: 1px 0 1px 15px; background: url('../images/menu-arrow.gif') left 4px no-repeat; } #myTed ul li a, #myTed ul li a:visited{ color: #222; font-family:"Trebuchet MS", Arial, "Sans Serif"; text-decoration: underline; } #myTed ul li.userName{ list-style: none; list-style-image:none; background:none; font-family:"Trebuchet MS", Arial, "Sans Serif"; padding-left: 10px; } #news{ background-color: #FFF; padding-top: 3px; border: 1px solid #DDD; } #news ul{ list-style:none; margin-top: 3px; border-bottom: 1px solid #FFF; margin-left: 5px; } #news ul li.rss{ padding-left: 16px; background:url('../images/RSS.gif') left center no-repeat; } #news .title{ color: #339900; } #news a, #news a:visited{ color: #222; font-family:"Trebuchet MS", Arial, "Sans Serif"; } #menu .extLinks{ border: 1px solid #DDD; background-color: #FFF; padding: 40px 5px 5px 5px; } #menu .survey{ padding: 5px; } #menu .survey img{ width: 172px; } #menu .eurlex{ background:url('../images/link-eurlex.png') 5px 5px no-repeat; } #menu .bookshop{ background:url('../images/link-bookshop.png') 5px 5px no-repeat; } #menu .extLinks a, #menu .extLinks a:visited{ color: #222; text-decoration: underline; font-family:"Trebuchet MS", Arial, "Sans Serif"; } * html #menu .extLinks a{ display: block; } *+html #menu .extLinks a{ display: block; } #mainContent { width:auto; margin: 0 15px 0 202px; display: block; font-family: Arial; margin-bottom: 20px; } #mainContent h2{ font-size: 1.2em; font-weight:bold; height: 25px; background: url('../images/h2bg.gif') bottom left no-repeat; margin-bottom: 15px; } #mainContent a, #mainContent a:visited{ color:#33F; } #mainContent a:hover{ color:#44BB22; } #mainContent hr{ margin-top: -5px; border: 0; display: block; } #mainContent hr.greenLine{ clear: none; margin-top: 12px; border-bottom: 1px solid #22BB22; } #mainContent div.help{ width:auto; height: 22px; border: 1px solid #555; background: url('../images/helpactionbg.png') left top no-repeat; position: absolute; right: 15px; top:177px; padding-left: 30px; padding-right: 25px; z-index: 123; } #mainContent div.help a, #mainContent div.help a:visited{ height:22px; font-weight: bold; text-decoration: none; color: #000; line-height: 20px; } #mainContent div.help a:hover{ color: #77B; } #mainContent div.help a img{ float: left; } fieldset { margin-bottom: 15px; } form fieldset.scope{ margin-right: 10px; position: relative; margin-bottom: 15px; background-color: #ebf5e5; padding: 10px; border: 1px solid #DDD; } form fieldset select,input { font-size: 0.9em; } form fieldset label, .spanInForm{ font-size: 0.9em; font-weight: bold; } form fieldset.scope select,input { width: 25%; } form fieldset.filter select,input { font-size: 9pt; width:250px; } form fieldset input.button { width:auto; background: transparent; border: 0; padding-left: 10px; padding-right: 10px; position: relative; top:0px; vertical-align: top; } form fieldset div.buttonContainer{ background: url('../images/rightbgbutton.png') right top no-repeat; display: inline-table; position: relative; vertical-align: top; padding-bottom: 5px; } form fieldset div.leftButtonPart{ background: url('../images/leftbgbutton.png') left top no-repeat; display: inline-table; vertical-align: top; height: 19px; } /* Button for ie6 et ie7 */ *+html form fieldset div.buttonContainer{ display: inline; vertical-align: baseline; height: 19px; } * html form fieldset div.buttonContainer{ display: inline; vertical-align: bottom; height: 19px; } *+html form fieldset div.leftButtonPart{ display: inline; } * html form fieldset div.leftButtonPart{ display: inline; } #mainContent .browse{ height:auto; width: 100%; display: block; min-height: 530px; margin-top: 15px; } #mainContent #filterTree{ position: relative; margin-top: 15px; } #mainContent .browse a, #mainContent .mainBrowse a{ font-family:Verdana; color: #567ec2; text-decoration: none; } #mainContent .rightBrowse a{ color: #3e5169; } #mainContent .browse a.current, #mainContent .mainBrowse a.current{ color: #090; font-weight: bold; } #mainContent div a:hover{ color: #55C015; text-decoration: underline; } #mainContent div.flag { background: url('../images/bgflag.gif') right bottom no-repeat; display: block; min-height: 530px; } #mainContent div.leftBrowse { position:relative; float: left; width: 300px; height: auto; } #mainContent div.mainBrowse { position:relative; float: none; width: 99%; background: url('../images/bgflag.gif') right bottom no-repeat; margin-top: 15px; min-height: 530px; } #mainContent div.rightBrowse { display: block; margin-left:310px; position: relative; height: auto; } #mainContent fieldset.filter { margin-left: 20px; } /* Ie6 */ * html #mainContent div.rightBrowse{ width:64.9%; } #mainContent h3{ font: bold 1.2em Verdana; height:22px; padding-left: 15px; margin-bottom: 10px; color: #339900; } #mainContent h4{ font: bold 1em Verdana; height:18px; padding-left: 20px; margin-bottom: 10px; color: #339900; } #mainContent h3 span{ top:3px; position: relative; } #mainContent div.warning{ right:10px; width: 390px; border:2px solid #900; -moz-border-radius: 6px; -webkit-border-radius: 6px; vertical-align: middle; padding: 10px; display: block; padding-top: 5px; position: absolute; z-index: 565; background-color: #FFF; } #mainContent div.warning p{ font: normal 9pt Verdana,sans-serif; width: 370px; display: table-cell; vertical-align: middle; line-height: 16px; } div ul.tree { display: block; margin-left:20px; list-style: none; margin-top: 4px; } * html div ul.tree{ height: 10px; } div.leftBrowse ul li{ margin-top:2px; line-height: 12px; } div ul li img { margin-right:10px; } div.rightBrowse ul.noChildren li{ list-style: circle; margin-bottom: 5px; margin-top: 0px; } div.mainBrowse ul li{ margin-bottom: 5px; margin-top: 0px; } /*-Alert---*/ div.info { padding-left: 32px; min-height: 30px; background: url('../images/infobox.png') left top no-repeat; font: normal 0.9em Verdana; margin: 0; color:#525db5; } div.warn { padding-left: 32px; min-height: 30px; background: url('../images/warnbox.png') left top no-repeat; font: normal 0.9em Verdana; margin: 0; color:#f89f2c; } div.error { padding-left: 32px; min-height: 30px; background: url('../images/errorbox.png') left top no-repeat; font: normal 0.9em Verdana; margin: 0; color:#d41919; } * html div.error{ height: 30px; } * html div.warn{ height: 30px; } * html div.info{ height: 30px; } div.info span, div.warn span, div.error span{ display: block; margin: 2px 0px 2px 20px; padding-left: 10px; } div.error span{ background: url('../images/puce-error.gif') left 5px repeat-y; } /*------ Actions ---------*/ #mainContent p.notice{ font-weight: bold; width:auto; position: absolute; top: 206px; right: 2px; } /*#mainContent p.notice span.access{ font: normal 7pt Verdana; color: #888; }*/ #mainContent #actionBar { margin-bottom: 35px; } #mainContent #actionBar li{ border: 1px solid #999; padding:3px; padding-left:25px; font-weight: bold; vertical-align: middle; float: left; position: relative; display: inline; width: auto; } #mainContent #actionBar li.profile{ background: #83f48b url('../images/refinesearchbg.png') left top no-repeat; } #mainContent #actionBar li.refine_search{ background: #83f48b url('../images/refinesearchbg.png') left top no-repeat; } #mainContent #actionBar li.print_search, #mainContent #actionBar li.print_list { background: #83f48b url('../images/printsearchbg.png') left top no-repeat; } #mainContent #actionBar li.save_search{ background: #83f48b url('../images/savesearchbg.png') left top no-repeat; } #mainContent #actionBar li.help{ background: #83f48b url('../images/helpactionbg.png') left top no-repeat; margin-right: 50px; } #mainContent #actionBar li.back_list{ background: #83f48b url('../images/backlistbg.png') left top no-repeat; padding-left: 30px; } #mainContent #actionBar li.export{ background: #83f48b url('../images/exportbg.png') left top no-repeat; } #mainContent #actionBar li.delete_list{ background: #83f48b url('../images/deleteactionbg.png') left top no-repeat; } #mainContent #actionBar li img{ margin-bottom:0; margin-left: 3px; } #mainContent #actionBar li span{ margin-right: 20px; margin-top: -3px; } #mainContent #actionBar li a{ color: #000; text-decoration: none; } #mainContent #actionBar li a:hover{ color: #003399; text-decoration: underline; } #mainContent #actionBar li ul { position: absolute; top:22px; left: -1px; width: 100%; visibility: hidden; z-index: 998; border: 1px solid #999; background: url('../images/action-bg.png') left bottom repeat-x; } #mainContent .resultSearch #actionBar li ul { top:21px; } #mainContent #actionBar li ul li{ display: block; float: none; padding: 5px; width: auto; border: 0; border-bottom: 1px solid #AAA; z-index: 999; padding-left: 10px; list-style-type: none; } #mainContent #actionBar li ul.noScript{ width: auto; } #mainContent #actionBar li.profile:hover ul, #mainContent #actionBar li.print_search:hover ul, #mainContent #actionBar li.sfhover ul, #mainContent #actionBar li.print_list:hover ul, #mainContent #actionBar li.delete_list:hover ul, #mainContent #actionBar li.save_search:hover ul { visibility: visible; } /*------- SEARCH FORM --------*/ #mainContent div.basicForm{ width: 99%; border: 1px solid green; margin-top: 5px; } #mainContent div.noBorder{ border: none; } #mainContent div.searchSelection{ background-color: #dde9f4; border:1px solid #DDD; display: block; margin-bottom: 10px; padding: 5px; } * html #mainContent div.searchSelection{ width: 99%; zoom: 1; } *+html #mainContent div.searchSelection{ zoom:1; } #mainContent div.basicForm fieldset{ padding: 10px; display: block; } #mainContent div.basicForm fieldset a.black{ color: #000000; } #mainContent div.basicForm fieldset.register a{ color: #0066ff; } #mainContent div.basicForm fieldset a:hover{ color: #44BB22; } #mainContent div.basicForm fieldset.scope{ text-align: center; border-bottom: 1px dashed #BBB; background-color: #FFF; } * html #mainContent div.basicForm fieldset.scope{ z-index: -1; margin-bottom: 0; } *+html #mainContent div.basicForm fieldset.scope{ z-index: -1; margin-bottom: 0; } #mainContent div.basicForm fieldset.scope label{ width:auto; float: none; } #mainContent div.basicForm fieldset.scope select{ width: 25%; } #mainContent div.basicForm fieldset.ojs{ width: 50%; float: left; display: block; border-bottom: 1px dashed #BBB; padding-bottom: 5px; } #mainContent div.basicForm fieldset.fulltext{ border-bottom: 1px dashed #BBB; padding-bottom: 5px; } #mainContent div.basicForm input.imgButton{ width: 15px; height: 15px; } /* Correction bug affichage ie6 / ie7 */ * html #mainContent div.basicForm fieldset.ojs{ padding-top: 25px; border-top: 1px solid #FFF; } *+html #mainContent div.basicForm fieldset.ojs{ padding-top: 25px; border-top: 1px solid #FFF; } * html #mainContent div.basicForm fieldset.fulltext{ padding-top: 25px; border-top: 1px solid #FFF; } *+html #mainContent div.basicForm fieldset.fulltext{ padding-top: 25px; border-top: 1px solid #FFF; } #mainContent div.basicForm fieldset.leftPart{ width: 50%; float: left; display: block; border-bottom: none; margin-bottom: 0px; } * html #mainContent div.basicForm fieldset.leftPart{ clear: left; } #mainContent div.basicForm fieldset ul { list-style: none; width:100%; } #mainContent div.basicForm fieldset ul li { position: relative; width:100%; clear: both; margin-bottom: 9px; border-bottom: 1px solid #FFF; } #mainContent div.basicForm fieldset li.group { margin-bottom: 5px; } #mainContent div.basicForm fieldset label{ position: relative; clear: left; float: left; width:40%; margin-right: 5px; text-align: right; } #mainContent div.basicForm fieldset label, .spanInForm{ position: relative; clear: left; float: left; width:40%; margin-right: 5px; text-align: right; } #mainContent div.basicForm fieldset.expertArea label{ width:40%; float:left; text-align: right; margin-right: 10px; } #mainContent div.basicForm fieldset.leftPart label, #mainContent div.basicForm fieldset.rightPart label, #mainContent div.basicForm fieldset.validation label{ width: 30%; } #mainContent div.basicForm fieldset.leftPart .label{ position: relative; clear: left; float: left; width:30%; margin-right: 5px; text-align: right; font-weight:bold; } #mainContent div.basicForm fieldset.expertArea textarea{ margin:0; width: 400px; text-align: left; } * html #mainContent div.basicForm fieldset.expertArea textarea{ margin:0; width: 400px; text-align: left; } #mainContent div.basicForm fieldset.ojs li input, #mainContent div.basicForm fieldset.fulltext li input{ width:60%; } #mainContent div.basicForm fieldset.ojs li label, #mainContent div.basicForm fieldset.fulltext li label{ width:25%; } #mainContent div.basicForm fieldset li input{ width:45%; margin-right: 5px; } /*-------special width for ie6---------*/ * html #mainContent div.basicForm fieldset li input{ width:75%; } * html #mainContent div.basicForm fieldset.ojs li input{ width:85%; } * html #mainContent div.basicForm fieldset.fulltext li input{ width:85%; } #mainContent div.basicForm fieldset li input.radio{ width:auto; } #mainContent div.basicForm fieldset li input.checkbox{ width:auto; } #mainContent div.basicForm fieldset.treeFieldset ul{ position: relative; width: auto; } #mainContent div.basicForm fieldset.treeFieldset ul li{ margin: 0; } #mainContent div.basicForm fieldset.treeFieldset ul li input{ width: 15px; height: 15px; } #mainContent div.basicForm fieldset.treeFieldset ul li input.imgButton{ width: 10px; height: 10px; } #mainContent div.basicForm fieldset.validation{ text-align: center; position: relative; border-top: 1px dashed #BBB; margin-top: 30px; } #mainContent div.basicForm fieldset.aboutTed{ border: 1px solid #AAA; background-color: #ebf5e5; } #mainContent div.basicForm fieldset.validation p.requiredField{ position:absolute; right:10px; font-style: italic; padding-right: 10px; } #mainContent div.basicForm fieldset.validation div.buttonContainer{ margin-left: 3%; } #mainContent div.basicForm fieldset.validation div.buttonContainer input{ padding-left: 20px; padding-right: 20px; } * html #mainContent div.basicForm fieldset.validation div.buttonContainer input{ padding-left: 5px; padding-right: 5px; } *+html #mainContent div.basicForm fieldset.validation div.buttonContainer input{ padding-left: 5px; padding-right: 5px; } #mainContent div.basicForm fieldset.validation div.statsPanel{ position: absolute; right: 10px; margin-top: -5px; } #mainContent div.basicForm fieldset.validation div.statsPanel input{ width:auto; } #mainContent div.basicForm fieldset.validation div.statsPanel label{ width: auto; float: left; margin-top: 3px; } #mainContent div.basicForm fieldset li span.example{ font: normal 0.85em Verdana; margin-left: 40%; color: #888; display: block; } #mainContent div.basicForm fieldset.leftPart li span.example, #mainContent div.basicForm fieldset.rightPart li span.example{ margin-left: 30%; } #mainContent fieldset.statistic{ background-color: #EEE; width: 99%; border: 1px solid #EEE; padding: 5px 0; } #mainContent fieldset.statistic select{ overflow: auto; } #mainContent .statsX{ width:45%; float: left; text-align: right; margin-right: 5%; } #mainContent .validation{ padding-left:45%; position: relative; margin-top: 10px; } #foreground{ filter:alpha(opacity=80); opacity:0.8; position:absolute; top:0px; left:0px; height:1050px; width:100%; background-color:#FFF; z-index:1000; text-align: center; } /*----LOADING COMPONENT----*/ div#loading{ position: fixed; left: 43%; top: 35%; z-index: 6946; width: 250px; height: 50px; background: url('../images/loading-bg.png') left top no-repeat; text-align: center; } * html div#loading{ position: absolute; } div#loading p{ margin: 0; margin-top:5px; padding: 0; } div#jsContainer{ position: fixed; width:80%; z-index:7546; margin-left:10%; top:20px; left:-10000px; border: 1px solid green; text-align: left; border: 2px solid #000; background-color:#FFF; min-width: 800px; } * html div#jsContainer{ position: absolute; } div.jsContainer h3{ font: bold 1.2em Verdana; color: #000; background: url('../images/bgh3-4.png') right top repeat-x; padding: 3px; padding-left: 20px; height: 21px; line-height: 13px; } div.jsContainer fieldset label{ font-size: 0.9em; } div.jsContainer .overflow{ overflow: auto; max-height: 300px; padding: 30px; } /*--------Hauteur fixe ie6-----*/ * html div.jsContainer .overflow{ height: 430px; } div.jsContainer .filter{ padding: 15px; padding-left: 20%; border-bottom: 1px solid #0A0; } div.jsContainer .filter #treeFilter{ margin-right: 10px; } div.jsContainer .column { margin-left: 45%; text-align: left; } div.jsContainer .column1 { width: 50%; clear:left; float: left; text-align: left; margin-right: 5px; } div.jsContainer .column1 ul { float:right; } div.jsContainer .column2 { float: none; text-align: left; margin-left: 52%; } div.jsContainer .column2 ul{ float: left; } * html div.jsContainer .column2 { width: 99%; } div.jsContainer div input.checkbox{ width: auto; margin-left: 3px; } div.jsContainer div ul{ list-style: none; } div.jsContainer div ul.tree{ margin-left: 25%; text-align: left; } div.jsContainer div ul.tree li{ width: auto; } div.jsContainer div ul.tree li ul{ margin-left: 20px; } div.jsContainer div ul label{ font-weight: normal; } div.jsContainer .footerJS{ text-align: center; border-top: 1px solid #0A0; padding-top: 15px; padding-bottom:10px; margin:0; background: url('../images/box-bottom-bg.png') right bottom no-repeat; } div.jsContainer .footerJS div.buttonContainer{ margin-left: 3%; } div.jsContainer .footerJS input{ width: 100px; } /*-----RESULT PAGE-----*/ #mainContent #facets{ width: 180px; display: block; position: relative; float: left; } #mainContent #facets .facetTop{ background: url('../images/facet-top2.png') left top no-repeat; padding-left: 20px; padding-right: 10px; padding-top: 5px; } #mainContent #facets .facetMiddle{ padding-left: 20px; padding-right: 10px; background:url('../images/facet-middle.gif') left top repeat; padding-top: 8px; } #mainContent #facets .facetBottom{ background: url('../images/facet-bottom.gif') left bottom no-repeat; height: 20px; } #mainContent #facets .facetTop h4{ font: bold 0.9em Verdana; height: 20px; } #mainContent #facets .facetMiddle ul{ list-style-image:url('../images/puce.png'); margin: 0; } #mainContent #facets .facetMiddle ul li{ border-bottom: 1px dotted #999; margin-bottom: 6px; line-height: 2px; } #mainContent #facets a{ font:normal 0.9em Arial; color: #2222BB; } #mainContent #facets ul li:hover{ background:url('../images/facet-link-bg.png') left center no-repeat; } #mainContent #facets ul li:hover a{ text-decoration: none; } #mainContent .resultSearch{ border: 1px solid white; margin-left: 185px; font: normal 0.9em Verdana; } #mainContent .noFacet{ margin-left: 5px; } #mainContent .resultSearch p{ margin-bottom: 10px; } #mainContent .resultSearch p.noMargin{ margin-bottom: 1px; } #mainContent .resultSearch ul.selection{ margin-left: 2%; margin-top: 3px; margin-bottom: 3px; width: 47%; float: left; } #mainContent .resultSearch div.last{ margin-left: 30px; margin-top: 3px; margin-bottom: -10px; float: inherit; width: 40%; position: relative; left:-2456px; border: 1px solid #FFF; } * html #mainContent .resultSearch div.last{ float: left; } *+html #mainContent .resultSearch div.last{ float: left; } #mainContent .resultSearch li{ display: inline; } #mainContent p.count{ font-style: italic ; } #mainContent span.available{ font-style: normal; float: right; width:auto; } #mainContent .aroundTable{ width: 100%; overflow: auto; } #mainContent table{ width: 100%; margin-bottom: 25px; font-size: 1em; } #mainContent table#notice{ margin-bottom: 10px; } #mainContent table thead tr{ height: 22px; } * html #mainContent table thead tr{ height: 22px; } *+html #mainContent table thead tr{ height: 22px; } #mainContent table thead tr th{ border: 1px solid #DDD ; border-bottom: 1px solid #DDD ; vertical-align: middle; font-weight: bold ; padding: 2px 6px 3px 15px; background: url('../images/menu-selected-bg.gif') center top repeat-x; background-color:#c4ffc4; } #mainContent #notice { margin-top: 10px; } #mainContent table tbody tr th{ font-weight:bold; padding-right: 14px; border: 1px solid #DDD; } * html #mainContent table thead tr th{ background-color: #b9ffad; } *+html #mainContent table thead tr th{ background-color: #b9ffad; } #mainContent table thead tr th a, #mainContent table thead tr th a:visited{ color:#000; display: block; padding-right: 12px; } #mainContent table thead tr th a{ background: url('../images/double-arrow.gif') right center no-repeat; } #mainContent table thead tr th.order1 a{ background: url('../images/up-arrow.gif') right center no-repeat; } #mainContent table thead tr th.order2 a{ background: url('../images/down-arrow-table.gif') right center no-repeat; } #mainContent table thead tr th.noBg{ background: none; } #mainContent table thead tr th a.noBg{ background: none; } #mainContent table thead tr th.noLeftBorder{ background: none; border-left: none; border-top: none; } #mainContent table thead tr th.noRightBorder{ background: none; border-right: none; border-top: none; } #mainContent table tbody tr td{ font-family: Arial; border: 1px solid #DDD ; padding: 5px; } #mainContent table tbody tr td span{ display: block; } #mainContent table tbody tr td .descriptionDetail{ padding-left: 15px; } #mainContent table tbody .even{ background-color: #f0ffee; } #mainContent table tbody tr td.textCenter{ text-align: center; } #mainContent table tbody tr.leftAlign td.textCenter{ text-align: left; } #mainContent table tbody tr:hover{ background-color: #feffd0; } #mainContent table tbody tr td input{ width: auto; } #mainContent table thead img { margin-left: 6px; } #mainContent table tbody td a:visited { color: #9900cc; } /*----------- Correction position float right ie6, ie7 ------- */ * html #mainContent .resultSearch span.available{ margin-top: -14px; } *+html #mainContent .resultSearch span.available{ margin-top: -14px; } /*--------- Document ------------*/ #mainContent #resultNav{ font-family:Verdana; float: right; margin-top:-19px; width:auto; } #mainContent #tabs{ display: block; height: 25px; margin:0; position: relative; top:-1px !important; top:0px; } /*------Correction decalage ie6-----*/ * html #mainContent #tabs{ margin-left: -3px; } #mainContent #tabs ul li{ float: left; height:25px; padding-right: 12px; list-style: none; background: url('../images/tabright.gif') right top no-repeat; width:auto; } #mainContent #tabs ul li a:link, #mainContent #tabs ul li a:visited{ font: bold 0.85em Verdana; color: #003; } #mainContent #tabs ul li a:hover{ color: #B22; } #mainContent #tabs ul li div{ padding-left:12px; padding-top:5px; height: 25px; float: left; background: url('../images/tableft.gif') left top no-repeat; width:auto; } #mainContent #tabs ul li.activated { background: url('../images/tabactiveright.gif') right top no-repeat; border-bottom: 1px solid #FFF; } #mainContent #tabs ul li.activated div{ background: url('../images/tabactiveleft.gif') left top no-repeat; } #mainContent .documentDiv { border: 1px solid #000; border-top:none; margin-top: -2px; background: url('../images/pixel.gif') 0px 1px no-repeat; padding-top: 5px; } * html #mainContent .documentDiv { margin-left: 3px; } #mainContent .documentDiv p.docAction{ font-family:Verdana; padding: 7px; padding-left: 25px; margin-bottom: 0px; position: relative; height: 16px; } * html #mainContent .documentDiv p.docAction{ width: 100%; height: 32px; } #mainContent .documentDiv p.docAction a{ margin-right: 15px; } #mainContent .documentDiv p.docAction a.docDisplayLink{ background: url(../images/rightarrow.gif) left center no-repeat; padding-left: 14px; } #mainContent .documentDiv p.docAction a.icon, #mainContent .documentDiv p.docAction img, #mainContent .documentDiv p.docAction input{ margin-right: 5px; } #mainContent .documentDiv p.docAction a.icon img { margin: 0; } #mainContent .documentDiv p.docAction span{ position: absolute; width:auto; right: 10px; } #mainContent div.noBg { background: none; } #mainContent .documentDiv #cancelDoc{ padding-top: 5px; padding-left: 30px; } #mainContent .documentDiv #docContent{ padding: 30px; } #docContent{ position:relative; width: auto; } #docContent p{ line-height: 18px; } #docContent p.title{ border-bottom: 2px solid #000; } #docContent ul.navSection li { display: inline; margin-right: 6px; } #docContent p.center{ font-weight: bold; text-align: center; line-height: 30px; } #docContent p.section{ text-decoration: underline; margin-bottom: 10px; margin-top: 10px; font-weight: bold; } #docContent p.alinea{ width:50px; float: left; } #docContent p.content{ margin-left: 55px; } #docContent .data { width: 100% !important; position: relative; width:70%; } #docContent .family { width: 650px; } #docContent .family tr:hover{ background-color: #FFF; } #docContent .family td{ border-bottom: 1px solid #AAA; } #docContent .bgGreen{ background-color: #F0FFF0; } #docContent td.title{ font-weight: bold; border-left: 1px solid #AAA; } #docContent .data th{ font-weight: bold; border-right: 1px solid green; } /*---- Sitemap------*/ #sitemap{ position: relative; background: url('../images/sitemap-bg.png') left top no-repeat; width: 100%; height: 600px; } #sitemap ul{ position: absolute; width: 200px; left: -1000px; } #sitemap ul.lv2 li{ list-style-image: url('../images/pucesmlv2.png'); list-style-position: inside; } #sitemap ul.lv2 li.noBullet{ list-style-type: none; list-style: none; list-style-image: none; font-weight: bold; } #sitemap ul.homepage{ top:180px; left: 420px; } #sitemap ul.myTed{ width:200px; top:25px; left: 0px; text-align: right; } #sitemap ul.search{ top:55px; left: 565px; } #sitemap ul.result{ top:193px; left: 630px; } #sitemap ul.document{ top:290px; left: 695px; } #sitemap ul.browseMap{ top:350px; left: 505px; } #sitemap ul.news{ width:195px; top:200px; left: 25px; text-align: right; } #sitemap ul.rss{ width:215px; top:270px; left: 25px; text-align: right; } #sitemap ul.links{ width:275px; top:350px; left: 25px; text-align: right; } #sitemap a, #sitemap a:visited { color: #0090ff; } #sitemap li{ margin-bottom: 10px; } #sitemap ul.lv2 li{ margin-bottom: 3px; } #sitemap a, #sitemap li{ font-size: 10pt; } /*----Register form---*/ #mainContent div.basicForm fieldset.register{ margin-bottom: 0px; margin-top: 10px; } #mainContent div.basicForm fieldset.noMargin{ margin:0; } #mainContent div.basicForm fieldset.register li input{ width:25%; margin-right: 5px; } * html #mainContent div.basicForm fieldset.register li input{ width:40%; margin-right: 5px; } #mainContent div.basicForm fieldset.register li input.checkbox{ width: auto; } .basicForm .register select, .basicForm .personalDetails select { width: 25%; } /*----User profile---*/ #mainContent div.basicForm fieldset.noPadding{ padding: 0; } #mainContent div.basicForm fieldset.noPadding select{ width:25%; } #mainContent div.basicForm fieldset.generalDetails{ border-bottom:1px dotted #BBB; margin-bottom: 0; } #mainContent div.basicForm fieldset.noBorder{ border: 0; } #mainContent div.basicForm fieldset.generalDetails input, #mainContent div.basicForm fieldset.personalDetails input, #mainContent div.basicForm fieldset.deleteAccount input, #mainContent div.basicForm fieldset.reminder input { width: 30%; } * html #mainContent div.basicForm fieldset.generalDetails input, * html #mainContent div.basicForm fieldset.personalDetails input, * html #mainContent div.basicForm fieldset.deleteAccount input { width: 50%; } * html #mainContent div.basicForm fieldset.generalDetails input.checkBox{ width: auto; } #mainContent div.basicForm div.infoField{ border-top:1px dotted #BBB; margin-bottom: 0; } #mainContent div.basicForm div.infoField p{ margin-left: 15px; } #mainContent div.basicForm fieldset.deleteAccount input.button{ width:auto; padding-left:20px; padding-right: 20px; text-align: center; } #mainContent div.basicForm fieldset.deleteAccount h3{ color:#B33; } form fieldset div.leftRedButton{ background: url('../images/leftbgredbutton.png') left top no-repeat; } form fieldset div.redButtonContainer{ background: url('../images/rightbgredbutton.png') right top no-repeat; } #mainContent div.redBorder{ border: 1px solid red; } #mainContent .addressBook input.button { padding-left: 10px; padding-right: 10px; } #mainContent .rssCountry input.button { padding-left: 10px; padding-right: 10px; } #mainContent ul.rssFeeds{ margin-left: 35px; list-style-image: url('../images/rss-icon.gif'); width: auto; margin-top: 20px; margin-bottom: 30px; } #mainContent ul.rssFeeds li{ margin-bottom: 4px; } #mainContent img.news{ float: left; margin-right: 10px; margin-bottom: 10px; } #mainContent .rssFeeds span.italic{ font-size: 0.9em; } /* ---- About ----- */ #mainContent .about h3{ font:bold 1.25em Verdana; color: #005; background: none; } #mainContent .about #whatIsTED{ background: url('../images/about2.png') left center no-repeat; padding-left: 90px; padding-top: 10px; padding-bottom: 30px; } #mainContent .about #benefitFromTED{ background: url('../images/info2.png') left center no-repeat; padding-left: 90px; padding-top: 10px; padding-bottom: 10px; } #mainContent .about #whyRegisterOnTED{ background: url('../images/user2.png') left center no-repeat; padding-left: 90px; padding-top: 10px; padding-bottom: 10px; } /* Bug background ie6 */ * html #mainContent .about #whatIsTED{height: 1px;} * html #mainContent .about #benefitFromTED{height: 1px;} * html #mainContent .about #whyRegisterOnTED{height: 1px;} /* ---- Legal notice and privacy rules ----- */ #mainContent #legalNotice p, #mainContent #privacyRules p{ margin-left: 35px; line-height: 18px; } #mainContent #legalNotice ul, #mainContent #privacyRules ul{ margin: 0px 0px 15px 75px; list-style: square; } #mainContent #legalNotice h3, #mainContent #privacyRules h3{ font:bold 1.25em Verdana; color: #005; background: none; background-color: #FAFFFA; } #mainContent #legalNotice h3 a, #mainContent #legalNotice h4 a { color: #005; text-decoration: none; } #mainContent #legalNotice h4 a { color: #339900; } #mainContent #legalNotice h4{ font:bold 1.15em Verdana; margin-bottom: 10px; margin-left: 15px; } #mainContent #legalNotice h5{ font:normal 1.15em Verdana; letter-spacing: 1px; margin-bottom: 5px; margin-left: 20px; } /*--release calendar---*/ #mainContent .releaseCalendar{ padding-left: 25px; } #mainContent .releaseCalendar img{ margin-right: 15px; } #mainContent .releaseCalendar select{ width: 200px; margin-right: 15px; } /*--Contact---*/ #mainContent .basicForm .contact label{ width:30%; } #mainContent .cpvMapping{ list-style: none; margin-left: 25px; } #mainContent .cpvMapping li a { font-size:0.9em; line-height: 16px; letter-spacing: 1px; } #mainContent .cpvMapping li { height: auto; padding-top: 4px; padding-bottom: 0; } #mainContent .cpvMapping li.selected { background-color: #EAFFEA; font-weight:bold; } /*--- Box Component --- */ div#boxComponent{ position: fixed; z-index:7546; left:-10000px; width: 657px; margin-left: 25%; top:20%; background-color: #FFF; } div.boxComponent{ width: 657px; margin: 0 auto; } * html div.boxComponent{ margin-left: 50px; } * html div#boxComponent{ position: absolute; } div.boxComponent fieldset{ margin: 0; width:600px; padding-left: 10px; position: relative; } div.boxComponent fieldset ul li{ list-style: none; list-style-type:none; margin-bottom: 10px; } div.boxComponent fieldset label{ width:auto; margin-right: 5px; text-align: left; float: left; } div.boxComponent fieldset .likeLabel{ width:auto; margin-right: 5px; text-align: left; float: left; font-weight: bold; font-size: 0.9em; } div.boxComponent fieldset.boxValidation{ border-top: 1px dashed #DDD; text-align: center; width:630px; } div.boxComponent fieldset input, div.boxComponent fieldset select{ width: 35%; } div.boxComponent fieldset input.button, div.boxComponent fieldset input.radio{ width: auto; } div.boxComponent fieldset .example{ font: normal 0.85em Arial; color: #999; margin-left: 15%; display: block; } div.boxComponent fieldset .message{ border: 1px solid #999; padding: 5px; } div.boxComponent fieldset textarea{ width: 100%; border: 0; border-bottom: 2px solid #000; } div.boxComponent fieldset div.buttonContainer{ margin-left: 10px; } div.boxComponent .top{ background: url('../images/top-box.png') left top no-repeat; height: 25px; padding-left: 10px; } div.boxComponent .top span{ font: bold 1em Verdana; padding-top: 3px; line-height: 20px; } div.boxComponent .middle{ background: url('../images/box-middle.png') left top repeat-y; height: auto; padding: 15px; } div.boxComponent .middle p{ margin: 0; } div.boxComponent .middle ul{ margin-top: 10px; margin-bottom: 0px; margin-left: 15px; } div.boxComponent .middle ul li{ line-height: 0.9em; } div.boxComponent .middle .comboBox{ text-align: center; margin-top: 15px; } div.boxComponent .bottom{ background: url('../images/box-bottom.png') left bottom no-repeat; height: 45px; } .red{ color: red !important; } /* ---- FOOTER ----- */ #footer{ position: relative; width: 100%; border-top: 1px solid #3399CC; padding-top: 10px; background: url('../images/bottomshadow.png') left bottom repeat-x; height: 35px; } #footer ul{ list-style: none; position: absolute; right: 10px; } #footer ul li{ display: inline; color: #BBB; } #footer ul li a, #footer ul li a:visited{ font-family: "Trebuchet MS", Arial, "Sans Serif"; color: #003399; font-size: 0.9em; } #footer ul li a:hover { color: #37AB49; } #admin ul { list-style: none; width:100%; } #admin ul li { position: relative; width:100%; margin-bottom: 9px; border-bottom: 1px solid #FFF; } #legalNotice ol, #legalNotice address { padding-left: 80px; padding-bottom: 10px; } ------------d0hdjcToXFM5UQDnZDpxrW Content-Disposition: inline; filename=calendar.css Content-Type: text/css; charset=utf-8; name=calendar.css Content-Location: http://ted.europa.eu/static/css/calendar.css Content-Transfer-Encoding: 8bit /* the div that holds the date picker calendar */ .dpDiv { } /* the table (within the div) that holds the date picker calendar */ .dpTable { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 9pt; text-align: center; color: #000; background-color: #FFF; border: 1px solid #AAA; width: 200px; padding: 5px; } /* a table row that holds date numbers (either blank or 1-31) */ .dpTR { } /* the top table row that holds the month, year, and forward/backward buttons */ .dpTitleTR { background: url('../images/calendar-month-bg.png') left center repeat-x; height: 30px; } /* the second table row, that holds the names of days of the week (Mo, Tu, We, etc.) */ .dpDayTR { } /* the bottom table row, that has the "This Month" and "Close" buttons */ .dpTodayButtonTR { } /* a table cell that holds a date number (either blank or 1-31) */ .dpTD { border-bottom: 1px solid #d3d3d3; border-left: 1px solid #d3d3d3; padding: 3px; padding-bottom:0; background: url('../images/calendar-td-bg.png') left top repeat-x; text-align: center; } /* a table cell that holds a highlighted day (usually either today's date or the current date field value) */ .dpDayHighlightTD { background-color: #CCCCCC; border: 1px solid #AAAAAA; font-weight: bold; text-align: center; } /* the date number table cell that the mouse pointer is currently over (you can use contrasting colors to make it apparent which cell is being hovered over) */ .dpTDHover { background-color: #CCC; border: 1px solid #000; cursor: pointer; text-align: center; } /* the table cell that holds the name of the month and the year */ .dpTitleTD { text-align: center; padding-top: 6px; } /* a table cell that holds one of the forward/backward buttons */ .dpButtonTD { padding-left: 6px; } /* the table cell that holds the "This Month" or "Close" button at the bottom */ .dpTodayButtonTD { } /* a table cell that holds the names of days of the week (Mo, Tu, We, etc.) */ .dpDayTD { background-color: #FFF; border: 0; color: #000; font-weight: bold; text-align: center; } /* additional style information for the text that indicates the month and year */ .dpTitleText { font-size: 10pt; color: #000; font-weight: bold; } /* additional style information for the cell that holds a highlighted day (usually either today's date or the current date field value) */ .dpDayHighlight { color: #000; font-weight: bold; } /* the forward/backward buttons at the top */ .dpButton { font-family: Verdana, Tahoma, Arial, Helvetica, sans-serif; font-size: 10px; color: gray; border:0; background: url('../images/calendar-back.png') center center no-repeat; font-weight: bold; padding: 0px; } .right { padding-right:3px; background: url('../images/calendar-next.png') center center no-repeat; } /* the "This Month" and "Close" buttons at the bottom */ .dpTodayButton { font-family: Verdana, Tahoma, Arial, Helvetica, sans-serif; font-size: 10px; color: gray; background: #d8e8ff; font-weight: bold; } ------------d0hdjcToXFM5UQDnZDpxrW Content-Disposition: inline; filename=notice.css Content-Type: text/css; charset=utf-8; name=notice.css Content-Location: http://ted.europa.eu/static/css/notice.css Content-Transfer-Encoding: 8bit #mainContent #docContent .tabs { display: block; height: 20px; padding: 0; margin: 0; line-height: 20px; list-style-type: none; font-weight: bold; } #mainContent #docContent .tabs li { float: left; margin: 0 2px 0 0; padding: 0; list-style-type: none; font-weight: bold; } #mainContent #docContent .tabs li * { display: inline; } #mainContent #docContent .tabs a, #mainContent #docContent .tabs a span { display: block; float: left; font-weight: bold; text-decoration: none; } /* Hide from IE5-Mac \*/ #mainContent #docContent .tabs a,#docContent .tabs a span { float: none; } /* End hide */ #mainContent #docContent .tabs a { padding-left: 10px; text-decoration: none; color: #000; background: transparent url("/TEDimages/tab_left.gif") no-repeat left top; } #mainContent #docContent .tabs a * { display: inline; color: #000; } #mainContent #docContent .tabs a span { padding-right: 10px; background: transparent url("/TEDimages/tab_right.gif") no-repeat right top; } #mainContent #docContent .tabs a span * { display: inline; } #mainContent #docContent .tabs a span b { cursor: pointer; } /* IE 6 specfic css triggered by javascript */ #mainContent #docContent .tabs a span b.on { color: #FFF; } #mainContent #docContent .tabs a.active span b.on { color: #000; } /* END OF IE 6 specfic css triggered by javascript */ #mainContent #docContent .tabs a span b:hover { color: #FFF; cursor: pointer; } #mainContent #docContent .tabs a:hover { text-decoration: none; color: #000; padding-left: 10px; } #mainContent #docContent .tabs a:hover span { padding-right: 10px; } #mainContent #docContent .tabs a.active { color: #fff; background: transparent url("/TEDimages/tab_left_active.gif") no-repeat left top; } #mainContent #docContent .tabs a.active span { color: #fff; background: transparent url("/TEDimages/tab_right_active.gif") no-repeat right top; } #mainContent #docContent .tabs a.active span b { color: #FFF; } #mainContent #docContent .tabs a.active span b:hover { color: #000; cursor: pointer; } #mainContent #docContent .tabs a.language { display: inline; padding-left: 0px; background: transparent no-repeat right top; } #mainContent #docContent .tabs br { display: none !important; } /* END - .tabs */ #mainContent #docContent { margin-bottom: 20px; padding: 20px; background-color: #fff; padding-top: 0px; } #mainContent #docContent #docHeader { border-bottom: 2px solid #003; } #mainContent #docContent #docToc { margin-left: 0; list-style-type: none; } #mainContent #docContent #docToc li { display: inline; } #mainContent #docContent #docToc li a { text-decoration: none; } #mainContent #docContent .stdoc { text-align: center; } #mainContent #docContent .stdoc p { font-weight: bold; text-align: center; } #mainContent #docContent .grseq { margin: 10px 0; } #mainContent #docContent .grseq .tigrseq { font-weight: bold; text-decoration: underline; } #mainContent #docContent .mlioccur, #mainContent #docContent .grseq .mlioccur { position: relative; margin-top: 5px; margin-left: 20px; } #mainContent #docContent .grseq .mlioccur .contauth { } #docContent .mlioccur .nomark, #docContent .grseq .mlioccur .nomark { display:block; float:left; text-align:right; width:40px; } * html #docContent .mlioccur .nomark, * html #docContent .grseq .mlioccur .nomark { position: absolute; left: 0px; display: inline-block; display: -moz-inline-block; float: none; width: 40px; text-align: right; } #mainContent #docContent .mlioccur .timark, #mainContent #docContent .grseq .mlioccur .timark { display: block; margin-left: 50px; font-weight: bold; } #mainContent #docContent .mlioccur .txtmark, #mainContent #docContent .grseq .mlioccur .txtmark { margin-left: 50px; padding: 0; } #mainContent #docContent .mlioccur .txtmark p, #mainContent #docContent .grseq .mlioccur .txtmark p { margin: 0; padding: 0; } #mainContent #docContent .mlioccur .txtmark .cpvCode, #mainContent #docContent .grseq .mlioccur .txtmark .cpvCode { color: red; } /* END - */ /* Specific style for EEIG DTD documents - OJS-586*/ #mainContent .EEIGTop,.EEIGSub { margin-top: 10px; } #mainContent .EEIGTop .nomark { display: block; float: left; width: 60px; } #mainContent #cancelDoc { color: red; font-weight: bold; } #mainContent .EEIGTop .timark { font-weight: bold; } #mainContent .EEIGTop .txtmark { margin-left: 60px; padding: 0; } #mainContent .EEIGSub .nomark { display: block; float: left; width: 40px; padding-left: 20px; } #mainContent .EEIGSub .timark { font-weight: bold; } #mainContent .EEIGSub .txtmark { margin-left: 60px; padding: 0; } /* END - Specific style for EEIG DTD documents - OJS-586*/ /* --- MISC ---*/ .highlight { background-color:yellow; } #mainContent table tbody tr td span.highlight { display:inline; } /* .dummyHighLight { background-color:yellow; } */ ------------d0hdjcToXFM5UQDnZDpxrW Content-Disposition: inline; filename=ted-print.css Content-Type: text/css; charset=utf-8; name=ted-print.css Content-Location: http://ted.europa.eu/static/css/ted-print.css Content-Transfer-Encoding: 8bit /* * Project: TED * Contractor: ARHS-Developments * * $HeadURL: http://forge.aris-lux.lan/svn/opoce-ted/trunk/TEDWebapp/src/main/webapp/static/css/ted-print.css $ * $Revision: 6982 $ * $Date: 2010-05-05 09:41:46 +0200 (Wed, 05 May 2010) $ * $Author: buissoni $ */ html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td { color: #000; background: none; font-size: 1em; } a, a:hover, a:visited{ color: #000; } #header, #menu, #footer, .notice, .help, #menuTabs, #resultNav, #actionBar, #tabs ul, .docAction { display: none; } #mainContent #facets{ display: none; } #mainContent .resultSearch{ margin-left: 0; } #header h1{ display: block; } #mainContent{ margin: 0; width: 100%; } #mainContent hr{ margin-top: 25px; margin-bottom: 25px; border: 1px solid #000; display: block; } ------------d0hdjcToXFM5UQDnZDpxrW Content-Disposition: inline; filename=ted-js.js Content-Type: text/javascript; charset=UTF-8; name=ted-js.js Content-Location: http://ted.europa.eu/TED/dynamic/ted-js.do?lang=pl Content-Transfer-Encoding: Quoted-Printable = var calendarUrl =3D '/static/images/date-picker.png'; var imageFolder =3D '/static/images/'; var appContextRoot =3D '/TED'; var refDataAjaxServiceBaseUrl =3D '/TED/search/ajaxPickRefData.do?'; var refDataAjaxBrowseServiceBaseUrl =3D '/TED/browse/ajaxBrowse.do?'; var tradCollapse =3D "Zwi=C5=84"; = var tradExpand =3D "Rozwi=C5=84"; = var tradNoFilterResult =3D "Przepraszamy, ale nie ma wyników pasu= j=C4=85cych do kryteriów filtrowania."; = var tradApply =3D "Zastosuj"; = var tradFilter =3D "Filtruj "; = var tradOk =3D "OK"; = var tradCancel =3D "Anuluj"; = var tradErrorBookmarkPage =3D "Przepraszamy, ale przegl=C4=85darka nie m= o=C5=BCe automatycznie dodawa=C4=87 zak=C5=82adek. Aby doda=C4=87 zak=C5= =82adk=C4=99 do strony, nale=C5=BCy wcisn=C4=85=C4=87 CTRL+D."; var tradSelectLangLabel =3D "Zmie=C5=84 j=C4=99zyk"; = var tradPageChanged =3D "Ta strona zosta=C5=82a zmieniona!"; var tradUnsavedLost =3D "Wszystkie niezapisane zmiany zostan=C4=85 utrac= one."; = var tradValidation =3D "Sprawdzanie"; = var tradTree =3D "Drzewo"; = var tradNotification =3D "Powiadomienie"; var dayArrayShort =3D new Array("Ni", "Po", "Wt", "=C5=9Ar", "Cz", "Pt",= "So"); var monthArrayLong =3D new Array("Stycze=C5=84", "Luty", "Marzec", "Kwie= cie=C5=84", "Maj", "Czerwiec", "Lipiec", "Sierpie=C5=84", "Wrzesie=C5=84= ", "Pa=C5=BAdziernik", "Listopad", "Grudzie=C5=84"); function submitLang(langEl){ submitPageWithAction('cl'); = } function selectLangBox(){ document.write(""); = } ------------d0hdjcToXFM5UQDnZDpxrW Content-Disposition: inline; filename=calendar.js Content-Type: application/x-javascript; charset=utf-8; name=calendar.js Content-Location: http://ted.europa.eu/static/js/calendar.js Content-Transfer-Encoding: Base64 dmFyIGRhdGVQaWNrZXJEaXZJRCA9ICJkYXRlcGlja2VyIjsNCnZhciBpRnJhbWVE aXZJRCA9ICJkYXRlcGlja2VyaWZyYW1lIjsNCiANCi8vdmFyIGRheUFycmF5U2hv cnQgPSBuZXcgQXJyYXkoJ1N1JywgJ01vJywgJ1R1JywgJ1dlJywgJ1RoJywgJ0Zy JywgJ1NhJyk7DQp2YXIgZGF5QXJyYXlNZWQgPSBuZXcgQXJyYXkoJ1N1bicsICdN b24nLCAnVHVlJywgJ1dlZCcsICdUaHUnLCAnRnJpJywgJ1NhdCcpOw0KdmFyIGRh eUFycmF5TG9uZyA9IG5ldyBBcnJheSgnU3VuZGF5JywgJ01vbmRheScsICdUdWVz ZGF5JywgJ1dlZG5lc2RheScsICdUaHVyc2RheScsICdGcmlkYXknLCAnU2F0dXJk YXknKTsNCnZhciBtb250aEFycmF5U2hvcnQgPSBuZXcgQXJyYXkoJ0phbicsICdG ZWInLCAnTWFyJywgJ0FwcicsICdNYXknLCAnSnVuJywgJ0p1bCcsICdBdWcnLCAn U2VwJywgJ09jdCcsICdOb3YnLCAnRGVjJyk7DQp2YXIgbW9udGhBcnJheU1lZCA9 IG5ldyBBcnJheSgnSmFuJywgJ0ZlYicsICdNYXInLCAnQXByJywgJ01heScsICdK dW5lJywgJ0p1bHknLCAnQXVnJywgJ1NlcHQnLCAnT2N0JywgJ05vdicsICdEZWMn KTsNCi8vdmFyIG1vbnRoQXJyYXlMb25nID0gbmV3IEFycmF5KCdKYW51YXJ5Jywg J0ZlYnJ1YXJ5JywgJ01hcmNoJywgJ0FwcmlsJywgJ01heScsICdKdW5lJywgJ0p1 bHknLCAnQXVndXN0JywgJ1NlcHRlbWJlcicsICdPY3RvYmVyJywgJ05vdmVtYmVy JywgJ0RlY2VtYmVyJyk7DQogDQovLyB0aGVzZSB2YXJpYWJsZXMgZGVmaW5lIHRo ZSBkYXRlIGZvcm1hdHRpbmcgd2UncmUgZXhwZWN0aW5nIGFuZCBvdXRwdXR0aW5n Lg0KLy8gSWYgeW91IHdhbnQgdG8gdXNlIGEgZGlmZmVyZW50IGZvcm1hdCBieSBk ZWZhdWx0LCBjaGFuZ2UgdGhlIGRlZmF1bHREYXRlU2VwYXJhdG9yDQovLyBhbmQg ZGVmYXVsdERhdGVGb3JtYXQgdmFyaWFibGVzIGVpdGhlciBoZXJlIG9yIG9uIHlv dXIgSFRNTCBwYWdlLg0KdmFyIGRlZmF1bHREYXRlU2VwYXJhdG9yID0gIi0iOyAg ICAgICAgLy8gY29tbW9uIHZhbHVlcyB3b3VsZCBiZSAiLyIgb3IgIi4iDQp2YXIg ZGVmYXVsdERhdGVGb3JtYXQgPSAibWR5IiAgICAvLyB2YWxpZCB2YWx1ZXMgYXJl ICJtZHkiLCAiZG15IiwgYW5kICJ5bWQiDQp2YXIgZGF0ZVNlcGFyYXRvciA9IGRl ZmF1bHREYXRlU2VwYXJhdG9yOw0KdmFyIGRhdGVGb3JtYXQgPSBkZWZhdWx0RGF0 ZUZvcm1hdDsNCiANCi8qIA0KPGlucHV0IHR5cGU9YnV0dG9uIHZhbHVlPSJzZWxl Y3QiIG9uY2xpY2s9ImRpc3BsYXlEYXRlUGlja2VyKCdTdGFydERhdGUnLCBmYWxz ZSwgJ2RteScsICcuJyk7Ij4NCiANClRoaXMgd291bGQgZGlzcGxheSB0aGUgZGF0 ZXBpY2tlciBiZW5lYXRoIHRoZSBTdGFydERhdGUgZmllbGQgKGJlY2F1c2UgdGhl DQpkaXNwbGF5QmVsb3dUaGlzT2JqZWN0IHBhcmFtZXRlciB3YXMgZmFsc2UpLCBh bmQgdXBkYXRlIHRoZSBTdGFydERhdGUgZmllbGQgd2l0aA0KdGhlIGNob3NlbiB2 YWx1ZSBvZiB0aGUgZGF0ZXBpY2tlciB1c2luZyBhIGRhdGUgZm9ybWF0IG9mIGRk Lm1tLnl5eXkNCiovDQpmdW5jdGlvbiBoaWRlQ2FsZW5kYXIoKXsNCgl2YXIgcGlj a2VyRGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZGF0ZVBpY2tlckRpdklE KTsNCgkgIHBpY2tlckRpdi5zdHlsZS52aXNpYmlsaXR5ID0gImhpZGRlbiI7DQoJ ICBwaWNrZXJEaXYuc3R5bGUuZGlzcGxheSA9ICJub25lIjsNCgkgDQoJICBhZGp1 c3RpRnJhbWUoKTsNCn0NCmZ1bmN0aW9uIGRpc3BsYXlEYXRlUGlja2VyKGRhdGVG aWVsZE5hbWUsIGRpc3BsYXlCZWxvd1RoaXNPYmplY3QsIGR0Rm9ybWF0LCBkdFNl cCkNCnsNCiAgdmFyIHRhcmdldERhdGVGaWVsZCA9IGRvY3VtZW50LmdldEVsZW1l bnRzQnlOYW1lIChkYXRlRmllbGROYW1lKS5pdGVtKDApOw0KIA0KICAvLyBpZiB3 ZSB3ZXJlbid0IHRvbGQgd2hhdCBub2RlIHRvIGRpc3BsYXkgdGhlIGRhdGVwaWNr ZXIgYmVuZWF0aCwganVzdCBkaXNwbGF5IGl0DQogIC8vIGJlbmVhdGggdGhlIGRh dGUgZmllbGQgd2UncmUgdXBkYXRpbmcNCiAgaWYgKCFkaXNwbGF5QmVsb3dUaGlz T2JqZWN0KQ0KICAgIGRpc3BsYXlCZWxvd1RoaXNPYmplY3QgPSB0YXJnZXREYXRl RmllbGQ7DQogDQogIC8vIGlmIGEgZGF0ZSBzZXBhcmF0b3IgY2hhcmFjdGVyIHdh cyBnaXZlbiwgdXBkYXRlIHRoZSBkYXRlU2VwYXJhdG9yIHZhcmlhYmxlDQogIGlm IChkdFNlcCkNCiAgICBkYXRlU2VwYXJhdG9yID0gZHRTZXA7DQogIGVsc2UNCiAg ICBkYXRlU2VwYXJhdG9yID0gZGVmYXVsdERhdGVTZXBhcmF0b3I7DQogDQogIC8v IGlmIGEgZGF0ZSBmb3JtYXQgd2FzIGdpdmVuLCB1cGRhdGUgdGhlIGRhdGVGb3Jt YXQgdmFyaWFibGUNCiAgaWYgKGR0Rm9ybWF0KQ0KICAgIGRhdGVGb3JtYXQgPSBk dEZvcm1hdDsNCiAgZWxzZQ0KICAgIGRhdGVGb3JtYXQgPSBkZWZhdWx0RGF0ZUZv cm1hdDsNCiANCiAgdmFyIHggPSBkaXNwbGF5QmVsb3dUaGlzT2JqZWN0Lm9mZnNl dExlZnQ7DQogIHZhciB5ID0gZGlzcGxheUJlbG93VGhpc09iamVjdC5vZmZzZXRU b3AgKyBkaXNwbGF5QmVsb3dUaGlzT2JqZWN0Lm9mZnNldEhlaWdodCA7DQogDQog IC8vIGRlYWwgd2l0aCBlbGVtZW50cyBpbnNpZGUgdGFibGVzIGFuZCBzdWNoDQog IHZhciBwYXJlbnQgPSBkaXNwbGF5QmVsb3dUaGlzT2JqZWN0Ow0KICB3aGlsZSAo cGFyZW50Lm9mZnNldFBhcmVudCkgew0KICAgIHBhcmVudCA9IHBhcmVudC5vZmZz ZXRQYXJlbnQ7DQogICAgeCArPSBwYXJlbnQub2Zmc2V0TGVmdDsNCiAgICB5ICs9 IHBhcmVudC5vZmZzZXRUb3AgOw0KICB9DQogDQogIGRyYXdEYXRlUGlja2VyKHRh cmdldERhdGVGaWVsZCwgeCwgeSk7DQp9DQogDQogDQovKioNCkRyYXcgdGhlIGRh dGVwaWNrZXIgb2JqZWN0ICh3aGljaCBpcyBqdXN0IGEgdGFibGUgd2l0aCBjYWxl bmRhciBlbGVtZW50cykgYXQgdGhlDQpzcGVjaWZpZWQgeCBhbmQgeSBjb29yZGlu YXRlcywgdXNpbmcgdGhlIHRhcmdldERhdGVGaWVsZCBvYmplY3QgYXMgdGhlIGlu cHV0IHRhZw0KdGhhdCB3aWxsIHVsdGltYXRlbHkgYmUgcG9wdWxhdGVkIHdpdGgg YSBkYXRlLg0KIA0KVGhpcyBmdW5jdGlvbiB3aWxsIG5vcm1hbGx5IGJlIGNhbGxl ZCBieSB0aGUgZGlzcGxheURhdGVQaWNrZXIgZnVuY3Rpb24uDQoqLw0KZnVuY3Rp b24gZHJhd0RhdGVQaWNrZXIodGFyZ2V0RGF0ZUZpZWxkLCB4LCB5KQ0Kew0KICB2 YXIgZHQgPSBnZXRGaWVsZERhdGUodGFyZ2V0RGF0ZUZpZWxkLnZhbHVlICk7DQog DQogIC8vIHRoZSBkYXRlcGlja2VyIHRhYmxlIHdpbGwgYmUgZHJhd24gaW5zaWRl IG9mIGEgPGRpdj4gd2l0aCBhbiBJRCBkZWZpbmVkIGJ5IHRoZQ0KICAvLyBnbG9i YWwgZGF0ZVBpY2tlckRpdklEIHZhcmlhYmxlLiBJZiBzdWNoIGEgZGl2IGRvZXNu J3QgeWV0IGV4aXN0IG9uIHRoZSBIVE1MDQogIC8vIGRvY3VtZW50IHdlJ3JlIHdv cmtpbmcgd2l0aCwgYWRkIG9uZS4NCiAgaWYgKCFkb2N1bWVudC5nZXRFbGVtZW50 QnlJZChkYXRlUGlja2VyRGl2SUQpKSB7DQogICAgLy8gZG9uJ3QgdXNlIGlubmVy SFRNTCB0byB1cGRhdGUgdGhlIGJvZHksIGJlY2F1c2UgaXQgY2FuIGNhdXNlIGds b2JhbCB2YXJpYWJsZXMNCiAgICAvLyB0aGF0IGFyZSBjdXJyZW50bHkgcG9pbnRp bmcgdG8gb2JqZWN0cyBvbiB0aGUgcGFnZSB0byBoYXZlIGJhZCByZWZlcmVuY2Vz DQogICAgLy9kb2N1bWVudC5ib2R5LmlubmVySFRNTCArPSAiPGRpdiBpZD0nIiAr IGRhdGVQaWNrZXJEaXZJRCArICInIGNsYXNzPSdkcERpdic+PC9kaXY+IjsNCiAg ICB2YXIgbmV3Tm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOw0K ICAgIG5ld05vZGUuc2V0QXR0cmlidXRlKCJpZCIsIGRhdGVQaWNrZXJEaXZJRCk7 DQogICAgbmV3Tm9kZS5zZXRBdHRyaWJ1dGUoImNsYXNzIiwgImRwRGl2Iik7DQog ICAgbmV3Tm9kZS5zZXRBdHRyaWJ1dGUoInN0eWxlIiwgInZpc2liaWxpdHk6IGhp ZGRlbjsiKTsNCiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKG5ld05vZGUp Ow0KICB9DQogDQogIC8vIG1vdmUgdGhlIGRhdGVwaWNrZXIgZGl2IHRvIHRoZSBw cm9wZXIgeCx5IGNvb3JkaW5hdGUgYW5kIHRvZ2dsZSB0aGUgdmlzaWJsaXR5DQog IHZhciBwaWNrZXJEaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChkYXRlUGlj a2VyRGl2SUQpOw0KICBwaWNrZXJEaXYuc3R5bGUucG9zaXRpb24gPSAiYWJzb2x1 dGUiOw0KICBwaWNrZXJEaXYuc3R5bGUubGVmdCA9IHggKyAicHgiOw0KICBwaWNr ZXJEaXYuc3R5bGUudG9wID0geSArICJweCI7DQogIHBpY2tlckRpdi5zdHlsZS52 aXNpYmlsaXR5ID0gKHBpY2tlckRpdi5zdHlsZS52aXNpYmlsaXR5ID09ICJ2aXNp YmxlIiA/ICJoaWRkZW4iIDogInZpc2libGUiKTsNCiAgcGlja2VyRGl2LnN0eWxl LmRpc3BsYXkgPSAocGlja2VyRGl2LnN0eWxlLmRpc3BsYXkgPT0gImJsb2NrIiA/ ICJub25lIiA6ICJibG9jayIpOw0KICBwaWNrZXJEaXYuc3R5bGUuekluZGV4ID0g MTAwMDsNCiANCiAgLy8gZHJhdyB0aGUgZGF0ZXBpY2tlciB0YWJsZQ0KICByZWZy ZXNoRGF0ZVBpY2tlcih0YXJnZXREYXRlRmllbGQubmFtZSwgZHQuZ2V0RnVsbFll YXIoKSwgZHQuZ2V0TW9udGgoKSwgZHQuZ2V0RGF0ZSgpKTsNCn0NCiANCiANCi8q Kg0KVGhpcyBpcyB0aGUgZnVuY3Rpb24gdGhhdCBhY3R1YWxseSBkcmF3cyB0aGUg ZGF0ZXBpY2tlciBjYWxlbmRhci4NCiovDQpmdW5jdGlvbiByZWZyZXNoRGF0ZVBp Y2tlcihkYXRlRmllbGROYW1lLCB5ZWFyLCBtb250aCwgZGF5KQ0Kew0KICAvLyBp ZiBubyBhcmd1bWVudHMgYXJlIHBhc3NlZCwgdXNlIHRvZGF5J3MgZGF0ZTsgb3Ro ZXJ3aXNlLCBtb250aCBhbmQgeWVhcg0KICAvLyBhcmUgcmVxdWlyZWQgKGlmIGEg ZGF5IGlzIHBhc3NlZCwgaXQgd2lsbCBiZSBoaWdobGlnaHRlZCBsYXRlcikNCiAg dmFyIHRoaXNEYXkgPSBuZXcgRGF0ZSgpOw0KIA0KICBpZiAoKG1vbnRoID49IDAp ICYmICh5ZWFyID4gMCkpIHsNCiAgICB0aGlzRGF5ID0gbmV3IERhdGUoeWVhciwg bW9udGgsIDEpOw0KICB9IGVsc2Ugew0KICAgIGRheSA9IHRoaXNEYXkuZ2V0RGF0 ZSgpOw0KICAgIHRoaXNEYXkuc2V0RGF0ZSgxKTsNCiAgfQ0KIA0KICAvLyB0aGUg Y2FsZW5kYXIgd2lsbCBiZSBkcmF3biBhcyBhIHRhYmxlDQogIC8vIHlvdSBjYW4g Y3VzdG9taXplIHRoZSB0YWJsZSBlbGVtZW50cyB3aXRoIGEgZ2xvYmFsIENTUyBz dHlsZSBzaGVldCwNCiAgLy8gb3IgYnkgaGFyZGNvZGluZyBzdHlsZSBhbmQgZm9y bWF0dGluZyBlbGVtZW50cyBiZWxvdw0KICB2YXIgY3JsZiA9ICJcclxuIjsNCiAg dmFyIFRBQkxFID0gIjx0YWJsZSBjb2xzPTcgY2xhc3M9J2RwVGFibGUnIGNlbGxz cGFjaW5nPScxJz48dHI+PHRkIHN0eWxlPSd0ZXh0LWFsaWduOnJpZ2h0JyBjb2xz cGFuPSc3Jz48aW1nIHNyYz0nIitpbWFnZUZvbGRlcisiZGVsZXRlLnBuZycgb25j bGljaz0naGlkZUNhbGVuZGFyKCknIC8+PC90ZD48L3RyPiIgKyBjcmxmOw0KICB2 YXIgeFRBQkxFID0gIjwvdGFibGU+IiArIGNybGY7DQogIHZhciBUUiA9ICI8dHIg Y2xhc3M9J2RwVFInPiI7DQogIHZhciBUUl90aXRsZSA9ICI8dHIgY2xhc3M9J2Rw VGl0bGVUUic+IjsNCiAgdmFyIFRSX2RheXMgPSAiPHRyIGNsYXNzPSdkcERheVRS Jz4iOw0KICB2YXIgVFJfdG9kYXlidXR0b24gPSAiPHRyIGNsYXNzPSdkcFRvZGF5 QnV0dG9uVFInPiI7DQogIHZhciB4VFIgPSAiPC90cj4iICsgY3JsZjsNCiAgdmFy IFREID0gIjx0ZCBjbGFzcz0nZHBURCcgb25Nb3VzZU91dD0ndGhpcy5jbGFzc05h bWU9XCJkcFREXCI7JyBvbk1vdXNlT3Zlcj0nIHRoaXMuY2xhc3NOYW1lPVwiZHBU REhvdmVyXCI7JyAiOyAgICAvLyBsZWF2ZSB0aGlzIHRhZyBvcGVuLCBiZWNhdXNl IHdlJ2xsIGJlIGFkZGluZyBhbiBvbkNsaWNrIGV2ZW50DQogIHZhciBURF90aXRs ZSA9ICI8dGQgY29sc3Bhbj01IGNsYXNzPSdkcFRpdGxlVEQnPiI7DQogIHZhciBU RF9idXR0b25zID0gIjx0ZCBjbGFzcz0nZHBCdXR0b25URCc+IjsNCiAgdmFyIFRE X3RvZGF5YnV0dG9uID0gIjx0ZCBjb2xzcGFuPTcgY2xhc3M9J2RwVG9kYXlCdXR0 b25URCc+IjsNCiAgdmFyIFREX2RheXMgPSAiPHRkIGNsYXNzPSdkcERheVREJz4i Ow0KICB2YXIgVERfc2VsZWN0ZWQgPSAiPHRkIGNsYXNzPSdkcERheUhpZ2hsaWdo dFREJyBvbk1vdXNlT3V0PSd0aGlzLmNsYXNzTmFtZT1cImRwRGF5SGlnaGxpZ2h0 VERcIjsnIG9uTW91c2VPdmVyPSd0aGlzLmNsYXNzTmFtZT1cImRwVERIb3Zlclwi OycgIjsgICAgLy8gbGVhdmUgdGhpcyB0YWcgb3BlbiwgYmVjYXVzZSB3ZSdsbCBi ZSBhZGRpbmcgYW4gb25DbGljayBldmVudA0KICB2YXIgeFREID0gIjwvdGQ+IiAr IGNybGY7DQogIHZhciBESVZfdGl0bGUgPSAiPGRpdiBjbGFzcz0nZHBUaXRsZVRl eHQnPiI7DQogIHZhciBESVZfc2VsZWN0ZWQgPSAiPGRpdiBjbGFzcz0nZHBEYXlI aWdobGlnaHQnPiI7DQogIHZhciB4RElWID0gIjwvZGl2PiI7DQogDQogIC8vIHN0 YXJ0IGdlbmVyYXRpbmcgdGhlIGNvZGUgZm9yIHRoZSBjYWxlbmRhciB0YWJsZQ0K ICB2YXIgaHRtbCA9IFRBQkxFOw0KIA0KICAvLyB0aGlzIGlzIHRoZSB0aXRsZSBi YXIsIHdoaWNoIGRpc3BsYXlzIHRoZSBtb250aCBhbmQgdGhlIGJ1dHRvbnMgdG8N CiAgLy8gZ28gYmFjayB0byBhIHByZXZpb3VzIG1vbnRoIG9yIGZvcndhcmQgdG8g dGhlIG5leHQgbW9udGgNCiAgaHRtbCArPSBUUl90aXRsZTsNCiAgaHRtbCArPSBU RF9idXR0b25zICsgZ2V0QnV0dG9uQ29kZShkYXRlRmllbGROYW1lLCB0aGlzRGF5 LCAtMSwgIiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyIsICcnKSArIHhURDsNCiAg aHRtbCArPSBURF90aXRsZSArIERJVl90aXRsZSArIG1vbnRoQXJyYXlMb25nWyB0 aGlzRGF5LmdldE1vbnRoKCldICsgIiAiICsgdGhpc0RheS5nZXRGdWxsWWVhcigp ICsgeERJViArIHhURDsNCiAgaHRtbCArPSBURF9idXR0b25zICsgZ2V0QnV0dG9u Q29kZShkYXRlRmllbGROYW1lLCB0aGlzRGF5LCAxLCAiJm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7IiwgJ3JpZ2h0JykgKyB4VEQ7DQogIGh0bWwgKz0geFRSOw0KIA0K ICAvLyB0aGlzIGlzIHRoZSByb3cgdGhhdCBpbmRpY2F0ZXMgd2hpY2ggZGF5IG9m IHRoZSB3ZWVrIHdlJ3JlIG9uDQogIGh0bWwgKz0gVFJfZGF5czsNCiAgZm9yKGkg PSAwOyBpIDwgZGF5QXJyYXlTaG9ydC5sZW5ndGg7IGkrKykNCiAgICBodG1sICs9 IFREX2RheXMgKyBkYXlBcnJheVNob3J0W2ldICsgeFREOw0KICBodG1sICs9IHhU UjsNCiANCiAgLy8gbm93IHdlJ2xsIHN0YXJ0IHBvcHVsYXRpbmcgdGhlIHRhYmxl IHdpdGggZGF5cyBvZiB0aGUgbW9udGgNCiAgaHRtbCArPSBUUjsNCiANCiAgLy8g Zmlyc3QsIHRoZSBsZWFkaW5nIGJsYW5rcw0KICBmb3IgKGkgPSAwOyBpIDwgdGhp c0RheS5nZXREYXkoKTsgaSsrKQ0KICAgIGh0bWwgKz0gVEQgKyAiJm5ic3A7IiAr IHhURDsNCiANCiAgLy8gbm93LCB0aGUgZGF5cyBvZiB0aGUgbW9udGgNCiAgZG8g ew0KICAgIGRheU51bSA9IHRoaXNEYXkuZ2V0RGF0ZSgpOw0KICAgIFREX29uY2xp Y2sgPSAiIG9uY2xpY2s9XCJ1cGRhdGVEYXRlRmllbGQoJyIgKyBkYXRlRmllbGRO YW1lICsgIicsICciICsgZ2V0RGF0ZVN0cmluZyh0aGlzRGF5KSArICInKTtcIj4i Ow0KICAgIA0KICAgIGlmIChkYXlOdW0gPT0gZGF5KQ0KICAgICAgaHRtbCArPSBU RF9zZWxlY3RlZCArIFREX29uY2xpY2sgKyBESVZfc2VsZWN0ZWQgKyBkYXlOdW0g KyB4RElWICsgeFREOw0KICAgIGVsc2UNCiAgICAgIGh0bWwgKz0gVEQgKyBURF9v bmNsaWNrICsgZGF5TnVtICsgeFREOw0KICAgIA0KICAgIC8vIGlmIHRoaXMgaXMg YSBTYXR1cmRheSwgc3RhcnQgYSBuZXcgcm93DQogICAgaWYgKHRoaXNEYXkuZ2V0 RGF5KCkgPT0gNikNCiAgICAgIGh0bWwgKz0geFRSICsgVFI7DQogICAgDQogICAg Ly8gaW5jcmVtZW50IHRoZSBkYXkNCiAgICB0aGlzRGF5LnNldERhdGUodGhpc0Rh eS5nZXREYXRlKCkgKyAxKTsNCiAgfSB3aGlsZSAodGhpc0RheS5nZXREYXRlKCkg PiAxKQ0KIA0KICAvLyBmaWxsIGluIGFueSB0cmFpbGluZyBibGFua3MNCiAgaWYg KHRoaXNEYXkuZ2V0RGF5KCkgPiAwKSB7DQogICAgZm9yIChpID0gNjsgaSA+IHRo aXNEYXkuZ2V0RGF5KCk7IGktLSkNCiAgICAgIGh0bWwgKz0gVEQgKyAiJm5ic3A7 IiArIHhURDsNCiAgfQ0KICBodG1sICs9IHhUUjsNCiANCiAgLy8gYWRkIGEgYnV0 dG9uIHRvIGFsbG93IHRoZSB1c2VyIHRvIGVhc2lseSByZXR1cm4gdG8gdG9kYXks IG9yIGNsb3NlIHRoZSBjYWxlbmRhcg0KICB2YXIgdG9kYXkgPSBuZXcgRGF0ZSgp Ow0KICB2YXIgdG9kYXlTdHJpbmcgPSAiVG9kYXkgaXMgIiArIGRheUFycmF5TWVk W3RvZGF5LmdldERheSgpXSArICIsICIgKyBtb250aEFycmF5TWVkWyB0b2RheS5n ZXRNb250aCgpXSArICIgIiArIHRvZGF5LmdldERhdGUoKTsNCiAgLy9odG1sICs9 IFRSX3RvZGF5YnV0dG9uICsgVERfdG9kYXlidXR0b247DQogIC8vaHRtbCArPSAi PGJ1dHRvbiBjbGFzcz0nZHBUb2RheUJ1dHRvbicgb25DbGljaz0ncmVmcmVzaERh dGVQaWNrZXIoXCIiICsgZGF0ZUZpZWxkTmFtZSArICJcIik7Jz50aGlzIG1vbnRo PC9idXR0b24+ICI7DQogIC8vaHRtbCArPSAiPGJ1dHRvbiBjbGFzcz0nZHBUb2Rh eUJ1dHRvbicgb25DbGljaz0ndXBkYXRlRGF0ZUZpZWxkKFwiIiArIGRhdGVGaWVs ZE5hbWUgKyAiXCIpOyc+Y2xvc2U8L2J1dHRvbj4iOw0KICAvL2h0bWwgKz0geFRE ICsgeFRSOw0KIA0KICAvLyBhbmQgZmluYWxseSwgY2xvc2UgdGhlIHRhYmxlDQog IGh0bWwgKz0geFRBQkxFOw0KIA0KICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChk YXRlUGlja2VyRGl2SUQpLmlubmVySFRNTCA9IGh0bWw7DQogIC8vIGFkZCBhbiAi aUZyYW1lIHNoaW0iIHRvIGFsbG93IHRoZSBkYXRlcGlja2VyIHRvIGRpc3BsYXkg YWJvdmUgc2VsZWN0aW9uIGxpc3RzDQogIGFkanVzdGlGcmFtZSgpOw0KfQ0KIA0K IA0KLyoqDQpDb252ZW5pZW5jZSBmdW5jdGlvbiBmb3Igd3JpdGluZyB0aGUgY29k ZSBmb3IgdGhlIGJ1dHRvbnMgdGhhdCBicmluZyB1cyBiYWNrIG9yIGZvcndhcmQN CmEgbW9udGguDQoqLw0KZnVuY3Rpb24gZ2V0QnV0dG9uQ29kZShkYXRlRmllbGRO YW1lLCBkYXRlVmFsLCBhZGp1c3QsIGxhYmVsLCBjbGFzczIpDQp7DQogIHZhciBu ZXdNb250aCA9IChkYXRlVmFsLmdldE1vbnRoICgpICsgYWRqdXN0KSAlIDEyOw0K ICB2YXIgbmV3WWVhciA9IGRhdGVWYWwuZ2V0RnVsbFllYXIoKSArIHBhcnNlSW50 KChkYXRlVmFsLmdldE1vbnRoKCkgKyBhZGp1c3QpIC8gMTIpOw0KICBpZiAobmV3 TW9udGggPCAwKSB7DQogICAgbmV3TW9udGggKz0gMTI7DQogICAgbmV3WWVhciAr PSAtMTsNCiAgfQ0KIA0KICByZXR1cm4gIjxidXR0b24gY2xhc3M9J2RwQnV0dG9u ICIrY2xhc3MyKyInIG9uQ2xpY2s9J3JlZnJlc2hEYXRlUGlja2VyKFwiIiArIGRh dGVGaWVsZE5hbWUgKyAiXCIsICIgKyBuZXdZZWFyICsgIiwgIiArIG5ld01vbnRo ICsgIik7Jz4iICsgbGFiZWwgKyAiPC9idXR0b24+IjsNCn0NCiANCiANCi8qKg0K Q29udmVydCBhIEphdmFTY3JpcHQgRGF0ZSBvYmplY3QgdG8gYSBzdHJpbmcsIGJh c2VkIG9uIHRoZSBkYXRlRm9ybWF0IGFuZCBkYXRlU2VwYXJhdG9yDQp2YXJpYWJs ZXMgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGlzIHNjcmlwdCBsaWJyYXJ5Lg0KKi8N CmZ1bmN0aW9uIGdldERhdGVTdHJpbmcoZGF0ZVZhbCkNCnsNCiAgdmFyIGRheVN0 cmluZyA9ICIwMCIgKyBkYXRlVmFsLmdldERhdGUoKTsNCiAgdmFyIG1vbnRoU3Ry aW5nID0gIjAwIiArIChkYXRlVmFsLmdldE1vbnRoKCkrMSk7DQogIGRheVN0cmlu ZyA9IGRheVN0cmluZy5zdWJzdHJpbmcoZGF5U3RyaW5nLmxlbmd0aCAtIDIpOw0K ICBtb250aFN0cmluZyA9IG1vbnRoU3RyaW5nLnN1YnN0cmluZyhtb250aFN0cmlu Zy5sZW5ndGggLSAyKTsNCiANCiAgc3dpdGNoIChkYXRlRm9ybWF0KSB7DQogICAg Y2FzZSAiZG15IiA6DQogICAgICByZXR1cm4gZGF5U3RyaW5nICsgZGF0ZVNlcGFy YXRvciArIG1vbnRoU3RyaW5nICsgZGF0ZVNlcGFyYXRvciArIGRhdGVWYWwuZ2V0 RnVsbFllYXIoKTsNCiAgICBjYXNlICJ5bWQiIDoNCiAgICAgIHJldHVybiBkYXRl VmFsLmdldEZ1bGxZZWFyKCkgKyBkYXRlU2VwYXJhdG9yICsgbW9udGhTdHJpbmcg KyBkYXRlU2VwYXJhdG9yICsgZGF5U3RyaW5nOw0KICAgIGNhc2UgIm1keSIgOg0K ICAgIGRlZmF1bHQgOg0KICAgICAgcmV0dXJuIG1vbnRoU3RyaW5nICsgZGF0ZVNl cGFyYXRvciArIGRheVN0cmluZyArIGRhdGVTZXBhcmF0b3IgKyBkYXRlVmFsLmdl dEZ1bGxZZWFyKCk7DQogIH0NCn0NCiANCiANCi8qKg0KQ29udmVydCBhIHN0cmlu ZyB0byBhIEphdmFTY3JpcHQgRGF0ZSBvYmplY3QuDQoqLw0KZnVuY3Rpb24gZ2V0 RmllbGREYXRlKGRhdGVTdHJpbmcpDQp7DQogIHZhciBkYXRlVmFsOw0KICB2YXIg ZEFycmF5Ow0KICB2YXIgZCwgbSwgeTsNCiANCiAgdHJ5IHsNCiAgICBkQXJyYXkg PSBzcGxpdERhdGVTdHJpbmcoZGF0ZVN0cmluZyk7DQogICAgaWYgKGRBcnJheSkg ew0KICAgICAgc3dpdGNoIChkYXRlRm9ybWF0KSB7DQogICAgICAgIGNhc2UgImRt eSIgOg0KICAgICAgICAgIGQgPSBwYXJzZUludChkQXJyYXlbMF0sIDEwKTsNCiAg ICAgICAgICBtID0gcGFyc2VJbnQoZEFycmF5WzFdLCAxMCkgLSAxOw0KICAgICAg ICAgIHkgPSBwYXJzZUludChkQXJyYXlbMl0sIDEwKTsNCiAgICAgICAgICBicmVh azsNCiAgICAgICAgY2FzZSAieW1kIiA6DQogICAgICAgICAgZCA9IHBhcnNlSW50 KGRBcnJheVsyXSwgMTApOw0KICAgICAgICAgIG0gPSBwYXJzZUludChkQXJyYXlb MV0sIDEwKSAtIDE7DQogICAgICAgICAgeSA9IHBhcnNlSW50KGRBcnJheVswXSwg MTApOw0KICAgICAgICAgIGJyZWFrOw0KICAgICAgICBjYXNlICJtZHkiIDoNCiAg ICAgICAgZGVmYXVsdCA6DQogICAgICAgICAgZCA9IHBhcnNlSW50KGRBcnJheVsx XSwgMTApOw0KICAgICAgICAgIG0gPSBwYXJzZUludChkQXJyYXlbMF0sIDEwKSAt IDE7DQogICAgICAgICAgeSA9IHBhcnNlSW50KGRBcnJheVsyXSwgMTApOw0KICAg ICAgICAgIGJyZWFrOw0KICAgICAgfQ0KICAgICAgZGF0ZVZhbCA9IG5ldyBEYXRl KHksIG0sIGQpOw0KICAgIH0gZWxzZSBpZiAoZGF0ZVN0cmluZykgew0KICAgICAg ZGF0ZVZhbCA9IG5ldyBEYXRlKGRhdGVTdHJpbmcpOw0KICAgIH0gZWxzZSB7DQog ICAgICBkYXRlVmFsID0gbmV3IERhdGUoKTsNCiAgICB9DQogIH0gY2F0Y2goZSkg ew0KICAgIGRhdGVWYWwgPSBuZXcgRGF0ZSgpOw0KICB9DQogDQogIHJldHVybiBk YXRlVmFsOw0KfQ0KIA0KIA0KLyoqDQpUcnkgdG8gc3BsaXQgYSBkYXRlIHN0cmlu ZyBpbnRvIGFuIGFycmF5IG9mIGVsZW1lbnRzLCB1c2luZyBjb21tb24gZGF0ZSBz ZXBhcmF0b3JzLg0KSWYgdGhlIGRhdGUgaXMgc3BsaXQsIGFuIGFycmF5IGlzIHJl dHVybmVkOyBvdGhlcndpc2UsIHdlIGp1c3QgcmV0dXJuIGZhbHNlLg0KKi8NCmZ1 bmN0aW9uIHNwbGl0RGF0ZVN0cmluZyhkYXRlU3RyaW5nKQ0Kew0KICB2YXIgZEFy cmF5Ow0KICBpZiAoZGF0ZVN0cmluZy5pbmRleE9mKCIvIikgPj0gMCkNCiAgICBk QXJyYXkgPSBkYXRlU3RyaW5nLnNwbGl0KCIvIik7DQogIGVsc2UgaWYgKGRhdGVT dHJpbmcuaW5kZXhPZigiLiIpID49IDApDQogICAgZEFycmF5ID0gZGF0ZVN0cmlu Zy5zcGxpdCgiLiIpOw0KICBlbHNlIGlmIChkYXRlU3RyaW5nLmluZGV4T2YoIi0i KSA+PSAwKQ0KICAgIGRBcnJheSA9IGRhdGVTdHJpbmcuc3BsaXQoIi0iKTsNCiAg ZWxzZSBpZiAoZGF0ZVN0cmluZy5pbmRleE9mKCJcXCIpID49IDApDQogICAgZEFy cmF5ID0gZGF0ZVN0cmluZy5zcGxpdCgiXFwiKTsNCiAgZWxzZQ0KICAgIGRBcnJh eSA9IGZhbHNlOw0KIA0KICByZXR1cm4gZEFycmF5Ow0KfQ0KIA0KLyoqDQpVcGRh dGUgdGhlIGZpZWxkIHdpdGggdGhlIGdpdmVuIGRhdGVGaWVsZE5hbWUgd2l0aCB0 aGUgZGF0ZVN0cmluZyB0aGF0IGhhcyBiZWVuIHBhc3NlZCwNCmFuZCBoaWRlIHRo ZSBkYXRlcGlja2VyLiBJZiBubyBkYXRlU3RyaW5nIGlzIHBhc3NlZCwganVzdCBj bG9zZSB0aGUgZGF0ZXBpY2tlciB3aXRob3V0DQpjaGFuZ2luZyB0aGUgZmllbGQg dmFsdWUuDQogDQpBbHNvLCBpZiB0aGUgcGFnZSBkZXZlbG9wZXIgaGFzIGRlZmlu ZWQgYSBmdW5jdGlvbiBjYWxsZWQgZGF0ZVBpY2tlckNsb3NlZCBhbnl3aGVyZSBv bg0KdGhlIHBhZ2Ugb3IgaW4gYW4gaW1wb3J0ZWQgbGlicmFyeSwgd2Ugd2lsbCBh dHRlbXB0IHRvIHJ1biB0aGF0IGZ1bmN0aW9uIHdpdGggdGhlIHVwZGF0ZWQNCmZp ZWxkIGFzIGEgcGFyYW1ldGVyLiBUaGlzIGNhbiBiZSB1c2VkIGZvciBzdWNoIHRo aW5ncyBhcyBkYXRlIHZhbGlkYXRpb24sIHNldHRpbmcgZGVmYXVsdA0KdmFsdWVz IGZvciByZWxhdGVkIGZpZWxkcywgZXRjLiBGb3IgZXhhbXBsZSwgeW91IG1pZ2h0 IGhhdmUgYSBmdW5jdGlvbiBsaWtlIHRoaXMgdG8gdmFsaWRhdGUNCmEgc3RhcnQg ZGF0ZSBmaWVsZDoNCiANCmZ1bmN0aW9uIGRhdGVQaWNrZXJDbG9zZWQoZGF0ZUZp ZWxkKQ0Kew0KICB2YXIgZGF0ZU9iaiA9IGdldEZpZWxkRGF0ZShkYXRlRmllbGQu dmFsdWUpOw0KICB2YXIgdG9kYXkgPSBuZXcgRGF0ZSgpOw0KICB0b2RheSA9IG5l dyBEYXRlKHRvZGF5LmdldEZ1bGxZZWFyKCksIHRvZGF5LmdldE1vbnRoKCksIHRv ZGF5LmdldERhdGUoKSk7DQogDQogIGlmIChkYXRlRmllbGQubmFtZSA9PSAiU3Rh cnREYXRlIikgew0KICAgIGlmIChkYXRlT2JqIDwgdG9kYXkpIHsNCiAgICAgIC8v IGlmIHRoZSBkYXRlIGlzIGJlZm9yZSB0b2RheSwgYWxlcnQgdGhlIHVzZXIgYW5k IGRpc3BsYXkgdGhlIGRhdGVwaWNrZXIgYWdhaW4NCiAgICAgIGFsZXJ0KCJQbGVh c2UgZW50ZXIgYSBkYXRlIHRoYXQgaXMgdG9kYXkgb3IgbGF0ZXIiKTsNCiAgICAg IGRhdGVGaWVsZC52YWx1ZSA9ICIiOw0KICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVu dEJ5SWQoZGF0ZVBpY2tlckRpdklEKS5zdHlsZS52aXNpYmlsaXR5ID0gInZpc2li bGUiOw0KICAgICAgYWRqdXN0aUZyYW1lKCk7DQogICAgfSBlbHNlIHsNCiAgICAg IC8vIGlmIHRoZSBkYXRlIGlzIG9rYXksIHNldCB0aGUgRW5kRGF0ZSBmaWVsZCB0 byA3IGRheXMgYWZ0ZXIgdGhlIFN0YXJ0RGF0ZQ0KICAgICAgZGF0ZU9iai5zZXRU aW1lKGRhdGVPYmouZ2V0VGltZSgpICsgKDcgKiAyNCAqIDYwICogNjAgKiAxMDAw KSk7DQogICAgICB2YXIgZW5kRGF0ZUZpZWxkID0gZG9jdW1lbnQuZ2V0RWxlbWVu dHNCeU5hbWUgKCJFbmREYXRlIikuaXRlbSgwKTsNCiAgICAgIGVuZERhdGVGaWVs ZC52YWx1ZSA9IGdldERhdGVTdHJpbmcoZGF0ZU9iaik7DQogICAgfQ0KICB9DQp9 DQogDQoqLw0KZnVuY3Rpb24gdXBkYXRlRGF0ZUZpZWxkKGRhdGVGaWVsZE5hbWUs IGRhdGVTdHJpbmcpDQp7DQogIHZhciB0YXJnZXREYXRlRmllbGQgPSBkb2N1bWVu dC5nZXRFbGVtZW50c0J5TmFtZSAoZGF0ZUZpZWxkTmFtZSkuaXRlbSgwKTsNCiAg aWYgKGRhdGVTdHJpbmcpDQogICAgdGFyZ2V0RGF0ZUZpZWxkLnZhbHVlID0gZGF0 ZVN0cmluZzsNCiANCiAgdmFyIHBpY2tlckRpdiA9IGRvY3VtZW50LmdldEVsZW1l bnRCeUlkKGRhdGVQaWNrZXJEaXZJRCk7DQogIHBpY2tlckRpdi5zdHlsZS52aXNp YmlsaXR5ID0gImhpZGRlbiI7DQogIHBpY2tlckRpdi5zdHlsZS5kaXNwbGF5ID0g Im5vbmUiOw0KIA0KICBhZGp1c3RpRnJhbWUoKTsNCiAgdGFyZ2V0RGF0ZUZpZWxk LmZvY3VzKCk7DQogDQogIC8vIGFmdGVyIHRoZSBkYXRlcGlja2VyIGhhcyBjbG9z ZWQsIG9wdGlvbmFsbHkgcnVuIGEgdXNlci1kZWZpbmVkIGZ1bmN0aW9uIGNhbGxl ZA0KICAvLyBkYXRlUGlja2VyQ2xvc2VkLCBwYXNzaW5nIHRoZSBmaWVsZCB0aGF0 IHdhcyBqdXN0IHVwZGF0ZWQgYXMgYSBwYXJhbWV0ZXINCiAgLy8gKG5vdGUgdGhh dCB0aGlzIHdpbGwgb25seSBydW4gaWYgdGhlIHVzZXIgYWN0dWFsbHkgc2VsZWN0 ZWQgYSBkYXRlIGZyb20gdGhlIGRhdGVwaWNrZXIpDQogIGlmICgoZGF0ZVN0cmlu ZykgJiYgKHR5cGVvZihkYXRlUGlja2VyQ2xvc2VkKSA9PSAiZnVuY3Rpb24iKSkN CiAgICBkYXRlUGlja2VyQ2xvc2VkKHRhcmdldERhdGVGaWVsZCk7DQp9DQogDQog DQovKioNClVzZSBhbiAiaUZyYW1lIHNoaW0iIHRvIGRlYWwgd2l0aCBwcm9ibGVt cyB3aGVyZSB0aGUgZGF0ZXBpY2tlciBzaG93cyB1cCBiZWhpbmQNCnNlbGVjdGlv biBsaXN0IGVsZW1lbnRzLCBpZiB0aGV5J3JlIGJlbG93IHRoZSBkYXRlcGlja2Vy LiBUaGUgcHJvYmxlbSBhbmQgc29sdXRpb24gYXJlDQpkZXNjcmliZWQgYXQ6DQog DQpodHRwOi8vZG90bmV0anVua2llcy5jb20vV2ViTG9nL2praW5nL2FyY2hpdmUv MjAwMy8wNy8yMS80ODguYXNweA0KaHR0cDovL2RvdG5ldGp1bmtpZXMuY29tL1dl YkxvZy9qa2luZy9hcmNoaXZlLzIwMDMvMTAvMzAvMjk3NS5hc3B4DQoqLw0KZnVu Y3Rpb24gYWRqdXN0aUZyYW1lKHBpY2tlckRpdiwgaUZyYW1lRGl2KQ0Kew0KICAv LyB3ZSBrbm93IHRoYXQgT3BlcmEgZG9lc24ndCBsaWtlIHNvbWV0aGluZyBhYm91 dCB0aGlzLCBzbyBpZiB3ZQ0KICAvLyB0aGluayB3ZSdyZSB1c2luZyBPcGVyYSwg ZG9uJ3QgZXZlbiB0cnkNCiAgdmFyIGlzX29wZXJhID0gKG5hdmlnYXRvci51c2Vy QWdlbnQudG9Mb3dlckNhc2UoKS5pbmRleE9mKCJvcGVyYSIpICE9IC0xKTsNCiAg aWYgKGlzX29wZXJhKQ0KICAgIHJldHVybjsNCiAgDQogIC8vIHB1dCBhIHRyeS9j YXRjaCBibG9jayBhcm91bmQgdGhlIHdob2xlIHRoaW5nLCBqdXN0IGluIGNhc2UN CiAgdHJ5IHsNCiAgICBpZiAoIWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlGcmFt ZURpdklEKSkgew0KICAgICAgLy8gZG9uJ3QgdXNlIGlubmVySFRNTCB0byB1cGRh dGUgdGhlIGJvZHksIGJlY2F1c2UgaXQgY2FuIGNhdXNlIGdsb2JhbCB2YXJpYWJs ZXMNCiAgICAgIC8vIHRoYXQgYXJlIGN1cnJlbnRseSBwb2ludGluZyB0byBvYmpl Y3RzIG9uIHRoZSBwYWdlIHRvIGhhdmUgYmFkIHJlZmVyZW5jZXMNCiAgICAgIC8v ZG9jdW1lbnQuYm9keS5pbm5lckhUTUwgKz0gIjxpZnJhbWUgaWQ9JyIgKyBpRnJh bWVEaXZJRCArICInIHNyYz0namF2YXNjcmlwdDpmYWxzZTsnIHNjcm9sbGluZz0n bm8nIGZyYW1lYm9yZGVyPScwJz4iOw0KICAgICAgdmFyIG5ld05vZGUgPSBkb2N1 bWVudC5jcmVhdGVFbGVtZW50KCJpRnJhbWUiKTsNCiAgICAgIG5ld05vZGUuc2V0 QXR0cmlidXRlKCJpZCIsIGlGcmFtZURpdklEKTsNCiAgICAgIG5ld05vZGUuc2V0 QXR0cmlidXRlKCJzcmMiLCAiamF2YXNjcmlwdDpmYWxzZTsiKTsNCiAgICAgIG5l d05vZGUuc2V0QXR0cmlidXRlKCJzY3JvbGxpbmciLCAibm8iKTsNCiAgICAgIG5l d05vZGUuc2V0QXR0cmlidXRlICgiZnJhbWVib3JkZXIiLCAiMCIpOw0KICAgICAg ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChuZXdOb2RlKTsNCiAgICB9DQogICAg DQogICAgaWYgKCFwaWNrZXJEaXYpDQogICAgICBwaWNrZXJEaXYgPSBkb2N1bWVu dC5nZXRFbGVtZW50QnlJZChkYXRlUGlja2VyRGl2SUQpOw0KICAgIGlmICghaUZy YW1lRGl2KQ0KICAgICAgaUZyYW1lRGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5 SWQoaUZyYW1lRGl2SUQpOw0KICAgIA0KICAgIHRyeSB7DQogICAgICBpRnJhbWVE aXYuc3R5bGUucG9zaXRpb24gPSAiYWJzb2x1dGUiOw0KICAgICAgaUZyYW1lRGl2 LnN0eWxlLndpZHRoID0gcGlja2VyRGl2Lm9mZnNldFdpZHRoOw0KICAgICAgaUZy YW1lRGl2LnN0eWxlLmhlaWdodCA9IHBpY2tlckRpdi5vZmZzZXRIZWlnaHQgOw0K ICAgICAgaUZyYW1lRGl2LnN0eWxlLnRvcCA9IHBpY2tlckRpdi5zdHlsZS50b3A7 DQogICAgICBpRnJhbWVEaXYuc3R5bGUubGVmdCA9IHBpY2tlckRpdi5zdHlsZS5s ZWZ0Ow0KICAgICAgaUZyYW1lRGl2LnN0eWxlLnpJbmRleCA9IHBpY2tlckRpdi5z dHlsZS56SW5kZXggLSAxOw0KICAgICAgaUZyYW1lRGl2LnN0eWxlLnZpc2liaWxp dHkgPSBwaWNrZXJEaXYuc3R5bGUudmlzaWJpbGl0eSA7DQogICAgICBpRnJhbWVE aXYuc3R5bGUuZGlzcGxheSA9IHBpY2tlckRpdi5zdHlsZS5kaXNwbGF5Ow0KICAg IH0gY2F0Y2goZSkgew0KICAgIH0NCiANCiAgfSBjYXRjaCAoZWUpIHsNCiAgfQ0K IA0KfQ0KIA== ------------d0hdjcToXFM5UQDnZDpxrW Content-Disposition: inline; filename=ajax.js Content-Type: application/x-javascript; charset=utf-8; name=ajax.js Content-Location: http://ted.europa.eu/static/js/ajax.js Content-Transfer-Encoding: Base64 LyoNCiAqIFByb2plY3Q6IFRFRA0KICogQ29udHJhY3RvcjogQVJIUy1EZXZlbG9w bWVudHMNCiAqDQogKiAkSGVhZFVSTDogaHR0cDovL2ZvcmdlLmFyaXMtbHV4Lmxh bi9zdm4vb3BvY2UtdGVkL3RydW5rL1RFRFdlYmFwcC9zcmMvbWFpbi93ZWJhcHAv c3RhdGljL2pzL2FqYXguanMgJA0KICogJFJldmlzaW9uOiA2OTMwICQNCiAqICRE YXRlOiAyMDEwLTA0LTI5IDE1OjQ3OjA1ICswMjAwIChUaHUsIDI5IEFwciAyMDEw KSAkDQogKiAkQXV0aG9yOiBidWlzc29uaSAkDQogKi8NCiAgDQpmdW5jdGlvbiBz ZW5kQWpheFJlcXVlc3QoYWpheFVSTCwgcmVzcG9uc2VQcm9jZXNzaW5nRnVuY3Rp b24pIHsNCglzZW5kQWpheFJlcXVlc3RJbXBsKGFqYXhVUkwsIHJlc3BvbnNlUHJv Y2Vzc2luZ0Z1bmN0aW9uLCAnR0VUJywgbnVsbCk7DQp9DQoNCmZ1bmN0aW9uIHNl bmRQb3N0QWpheFJlcXVlc3QoYWpheFVSTCwgcmVzcG9uc2VQcm9jZXNzaW5nRnVu Y3Rpb24sIHBvc3RNc2cpIHsNCglzZW5kQWpheFJlcXVlc3RJbXBsKGFqYXhVUkws IHJlc3BvbnNlUHJvY2Vzc2luZ0Z1bmN0aW9uLCAnUE9TVCcsIHBvc3RNc2cpOw0K fQ0KDQpmdW5jdGlvbiBzZW5kQWpheFJlcXVlc3RJbXBsKGFqYXhVUkwsIHJlc3Bv bnNlUHJvY2Vzc2luZ0Z1bmN0aW9uLCBtZXRob2QsIG1zZykgew0KCXZhciB4aHI7 DQoJaWYgKHdpbmRvdy5YTUxIdHRwUmVxdWVzdCkgew0KCQkvLyBJZiBJRTcsIE1v emlsbGEsIFNhZmFyaSwgZXRjOiBVc2UgbmF0aXZlIG9iamVjdA0KCQl4aHIgPSBu ZXcgWE1MSHR0cFJlcXVlc3QoKTsNCgl9DQoJZWxzZSB7DQoJCWlmICh3aW5kb3cu QWN0aXZlWE9iamVjdCkgew0KCQkJLy8gLi4ub3RoZXJ3aXNlLCB1c2UgdGhlIEFj dGl2ZVggY29udHJvbCBmb3IgSUU1LnggYW5kIElFNg0KCQkJdHJ5IHsNCgkJCQl4 aHIgPSBuZXcgQWN0aXZlWE9iamVjdCgiTXN4bWwyLlhNTEhUVFAiKTsNCgkJCX0g Y2F0Y2ggKGUpIHsNCgkJCQl0cnkgew0KCQkJCQl4aHIgPSBuZXcgQWN0aXZlWE9i amVjdCgiTWljcm9zb2Z0LlhNTEhUVFAiKTsNCgkJCQl9IGNhdGNoIChlKSB7DQoJ CQkJfQ0KCQkJfQ0KCQl9DQoJfQ0KCS8vcmVnaXN0ZXIgdGhlIHByb2Nlc3NFeHBh bmRUcmVlSHR0cFJlc3BvbnNlIGphdmFzY3JpcHQgZnVuY3Rpb24gdG8gcHJvY2Vz cyANCgkvL3RoZSBodHRwIHJlc3BvbnNlOw0KCXhoci5vbnJlYWR5c3RhdGVjaGFu Z2UgPSBmdW5jdGlvbigpIHsgcHJvY2Vzc0FqYXhSZXNwb25zZSh4aHIsIHJlc3Bv bnNlUHJvY2Vzc2luZ0Z1bmN0aW9uKTsgfTs7DQoJLy9hbGVydCgiU2VuZGluZyBB amF4IHJlcXVlc3QgJyIgKyBhamF4VVJMICsgIiciKTsgDQoJeGhyLm9wZW4obWV0 aG9kLCBhamF4VVJMLCB0cnVlKTsNCglpZiAobXNnICE9IG51bGwpIHsNCgkJeGhy LnNldFJlcXVlc3RIZWFkZXIoJ0NvbnRlbnQtVHlwZScsICdhcHBsaWNhdGlvbi94 LXd3dy1mb3JtLXVybGVuY29kZWQnKTsNCgl9ICANCgl4aHIuc2VuZChtc2cpOw0K fQ0KDQpmdW5jdGlvbiBwcm9jZXNzQWpheFJlc3BvbnNlKGh0dHBSZXF1ZXN0LCBy ZXNwb25zZVByb2Nlc3NpbmdGdW5jdGlvbikgew0KCWlmIChodHRwUmVxdWVzdC5y ZWFkeVN0YXRlID09IDQpIHsNCgkJaWYgKGh0dHBSZXF1ZXN0LnN0YXR1cyA9PSAy MDApIHsNCgkJCS8vZnJvbSBoZXJlLCB0d28gaHR0cFJlcXVlc3QgcHJvcGVydGll cyBhcmUgYXZhaWxhYmxlOg0KCQkJLy8gMS4gaHR0cFJlcXVlc3QucmVzcG9uc2VU ZXh0OiByZXR1cm4gdGhlIHJlc3BvbnNlIHN0cmVhbQ0KCQkJLy8gICAgaW50ZXJw cmV0ZWQgYXMgYSBzdHJlYW0gb2YgY2hhcmFjdGVycw0KCQkJLy8gMi4gaHR0cFJl cXVlc3QucmVzcG9uc2VYTUw6IHJldHVybiBhbiBvYmplY3QgdGhhdCBpbXBsZW1l bnRzIHRoZQ0KCQkJLy8gICAgZG9jdW1lbnQgaW50ZXJmYWNlDQoJCQl2YXIganNv blJlc3BvbnNlID0gaHR0cFJlcXVlc3QucmVzcG9uc2VUZXh0Ow0KCQkJaWYoanNv blJlc3BvbnNlICE9ICIiKSB7DQoJCQkJZXZhbCgidmFyIHJlc3A9ICIgKyBqc29u UmVzcG9uc2UgKyAiOyIpDQoJCQkJaWYgKHJlc3AuZXJyb3JDb2RlICE9IG51bGwp IHsNCgkJCQkJcHJvY2Vzc0FqYXhFcnJvclJlc3BvbnNlKHJlc3ApOw0KCQkJCX0g ZWxzZSB7DQoJCQkJCXJlc3BvbnNlUHJvY2Vzc2luZ0Z1bmN0aW9uKHJlc3ApOw0K CQkJCX0NCgkJCX0NCgkJfSBlbHNlIGlmIChodHRwUmVxdWVzdC5zdGF0dXMgPT0g NTAwKSB7DQoJCQl2YXIganNvblJlc3BvbnNlID0gaHR0cFJlcXVlc3QucmVzcG9u c2VUZXh0Ow0KCQkJZXZhbCgidmFyIHJlc3A9ICIgKyBqc29uUmVzcG9uc2UgKyAi OyIpDQoJCQlwcm9jZXNzQWpheEVycm9yUmVzcG9uc2UocmVzcCk7DQoJCX0gZWxz ZSBpZiAoaHR0cFJlcXVlc3Quc3RhdHVzID09IDApIHsNCgkJCS8vSU9FeGNlcHRp b246IGhhbmRsZSB0aGlzIHNpbGVuY2x5DQoJCX0gZWxzZSB7DQoJCQl2YXIgbXNn ID0gImphdmFzY3JpcHRfYWpheF9lcnJvcl9yZXNwb25zZV9jb2RlX2lzX25vdF8y MDAgKEl0IHdhcyAiICsgaHR0cFJlcXVlc3Quc3RhdHVzICsgIikiOw0KCQkJLy9h bGVydChtc2cpOw0KCQl9DQoJfSBlbHNlIHsNCgkJLy9yZXF1ZXN0IGlzIG5vdCBj b21wbGV0ZWx5IHByb2Nlc3NlZDoNCgkJLy9yZWFkeVN0YXRlIGNvdWxkIGJlOg0K CQkvLyAwICh1bmluaXRpYWxpemVkKQ0KCQkvLyAxIChsb2FkaW5nKQ0KCQkvLyAy IChsb2FkZWQpDQoJCS8vIDMgKGludGVyYWN0aXZlKQ0KCQkvLyA0IChjb21wbGV0 ZSkNCgl9DQp9DQoNCmZ1bmN0aW9uIHByb2Nlc3NBamF4RXJyb3JSZXNwb25zZShl cnJvclJlc3BvbnNlKSB7DQoJYWxlcnQoZXJyb3JSZXNwb25zZS5lcnJvck1zZyk7 DQp9DQoNCndpbmRvdy5hamF4TG9hZGVkID0gdHJ1ZTsNCg== ------------d0hdjcToXFM5UQDnZDpxrW Content-Disposition: inline; filename=ted.js Content-Type: application/x-javascript; charset=utf-8; name=ted.js Content-Location: http://ted.europa.eu/static/js/ted.js Content-Transfer-Encoding: Base64 LyoNCiAqIFByb2plY3Q6IFRFRA0KICogQ29udHJhY3RvcjogQVJIUy1EZXZlbG9w bWVudHMNCiAqDQogKiAkSGVhZFVSTDogaHR0cDovL2ZvcmdlLmFyaXMtbHV4Lmxh bi9zdm4vb3BvY2UtdGVkL3RydW5rL1RFRFdlYmFwcC9zcmMvbWFpbi93ZWJhcHAv c3RhdGljL2pzL3RlZC5qcyAkDQogKiAkUmV2aXNpb246IDY4NDEgJA0KICogJERh dGU6IDIwMTAtMDQtMTYgMTE6MjQ6MjIgKzAyMDAgKEZyaSwgMTYgQXByIDIwMTAp ICQNCiAqICRBdXRob3I6IGJ1aXNzb25pICQNCiAqLw0KDQovKioNCiAqIFRoZSBn b2FsIG9mIHRoZSByZWdpc3RlckV2ZW50IGZyYW1ld29yayBpcyB0byBwZXJtaXQg dG8gcmVnaXN0ZXIgc2V2ZXJhbCBmdW5jdGlvbiB0byB0aGUgd2luZG93Lm9ubG9h ZA0KICogYW5kIHdpbmRvdy5vbnJlc2l6ZSBldmVudC48Yj4NCiAqLw0KdmFyIF9y ZWdpc3RlcmVkRXZlbnRzID0gbmV3IEFycmF5KCk7DQoNCmZ1bmN0aW9uIFJlZ2lz dGVyZWRFdmVudChldmVudFR5cGUsIGZuY3Rpb24pIHsNCgl0aGlzLmZuY3Rpb24g PSBmbmN0aW9uOw0KCXRoaXMuZXZlbnRUeXBlID0gZXZlbnRUeXBlLnRvTG93ZXJD YXNlKCk7DQp9DQoNCi8qKg0KICogVGhlIGdvYWwgb2YgdGhlIHJlZ2lzdGVyRXZl bnQoKSBmdW5jdGlvbiBpcyB0byBwZXJtaXQgdG8gcmVnaXN0ZXIgc2V2ZXJhbCBm dW5jdGlvbiB0byB0aGUgd2luZG93Lm9ubG9hZA0KICogYW5kIHdpbmRvdy5vbnJl c2l6ZSBldmVudC48Yj4NCiAqLw0KZnVuY3Rpb24gcmVnaXN0ZXJFdmVudChldmVu dFR5cGUsIGZuY3Rpb24pIHsNCgl2YXIgZm50Ow0KCWlmICh0eXBlb2YoZm5jdGlv bik9PSJmdW5jdGlvbiIpIHsNCgkJZm50ID0gZm5jdGlvbjsNCgl9DQoJZWxzZSBp ZiAodHlwZW9mKGZuY3Rpb24pPT0ic3RyaW5nIikgew0KCQlmbnQgPSBuZXcgRnVu Y3Rpb24oZm5jdGlvbik7DQoJfQ0KCWVsc2Ugew0KCQlhbGVydCgiY291bGQgb25s eSByZWdpc3RlciBmdW5jdGlvbiAhISEiKTsNCgkJcmV0dXJuOw0KCX0NCgkvL2Fs ZXJ0KCJSZWdpc3RlcmluZyAnIiArIGV2ZW50VHlwZSArICInIGZ1bmN0aW9uICci ICsgZm50ICsgIiciKTsNCglfcmVnaXN0ZXJlZEV2ZW50c1tfcmVnaXN0ZXJlZEV2 ZW50cy5sZW5ndGhdID0gbmV3IFJlZ2lzdGVyZWRFdmVudChldmVudFR5cGUsIGZu dCk7DQp9Ow0KDQpmdW5jdGlvbiBfY2FsbFJlZ2lzdGVyZWRFdmVudHMoZXZlbnRU eXBlKSB7DQoJdmFyIGk7DQoJZm9yIChpID0gMDsgaTxfcmVnaXN0ZXJlZEV2ZW50 cy5sZW5ndGg7IGkrKykgew0KCQl2YXIgcmVnaXN0ZXJlZEV2ZW50ID0gX3JlZ2lz dGVyZWRFdmVudHNbaV07DQoJCWlmIChldmVudFR5cGUgPT0gcmVnaXN0ZXJlZEV2 ZW50LmV2ZW50VHlwZSkgew0KCQkJLy9hbGVydCgiQ2FsbGluZyAnIiArIGV2ZW50 VHlwZSArICInIGZ1bmN0aW9uICciICsgcmVnaXN0ZXJlZEV2ZW50LmZuY3Rpb24g KyAiJyIpOw0KCQkJcmVnaXN0ZXJlZEV2ZW50LmZuY3Rpb24oKTsNCgkJCS8vYWxl cnQoIkNhbGxlZCIpOw0KCQl9DQoJfQ0KfQ0KDQovL3dpbmRvdy5zdGF0dXMgPSAi TG9hZGluZyBwYWdlLi4uIjsNCndpbmRvdy5vbmxvYWQgPSBuZXcgRnVuY3Rpb24o Il9jYWxsUmVnaXN0ZXJlZEV2ZW50cygnb25sb2FkJykiKTsNCi8vd2luZG93Lm9u cmVzaXplID0gZnVuY3Rpb24oKSB7X2NhbGxSZWdpc3RlcmVkRXZlbnRzKCJvbnJl c2l6ZSIpO307DQoNCi8vcmVnaXN0ZXJFdmVudCgib25sb2FkIiwgbmV3IEZ1bmN0 aW9uKCJ3aW5kb3cuc3RhdHVzID0gJ1BhZ2Ugc3VjY2Vzc2Z1bGx5IGxvYWRlZC4u LiciKSk7DQoNCndpbmRvdy5yZWdpc3RlckV2ZW50TG9hZGVkID0gdHJ1ZTsNCiAN CgkNCg0KLyoqDQogKiBTdWJtaXQgdGhlIHBhZ2UsIGFmdGVyIGhhdmUgc2V0dGlu ZyB0aGUgY29ycmVjdCBhY3Rpb24gaWQgaW4gdGhlIGhpZGRlbiBmaWVsZCB3aXRo IGlkICdhY3Rpb24nIChjcmVhdGVkIGJ5IHRlbXBsYXRlLmpzcCkuDQogKi8NCmZ1 bmN0aW9uICRkbyhhY3Rpb25JZCwgYWRkaXRpb25hbFBhcmFtcywgY2hlY2tDaGFu Z2VzLCBkaXNhYmxlTG9hZGluZykgew0KCSRkbyhhY3Rpb25JZCwgYWRkaXRpb25Q YXJhbXMsIGNoZWNrQ2hhbmdlcywgZGlzYWJsZUxvYWRpbmcsICJfc2VsZiIpOw0K fQ0KDQpmdW5jdGlvbiAkZG8oYWN0aW9uSWQsIGFkZGl0aW9uYWxQYXJhbXMsIGNo ZWNrQ2hhbmdlcywgZGlzYWJsZUxvYWRpbmcsIHRhcmdldCwgdXJsKSB7DQoJaWYg KHRhcmdldCA9PSBudWxsKSB7DQoJCXRhcmdldCA9ICJfc2VsZiI7DQoJfSBlbHNl IGlmICh0YXJnZXQgPT0gIl9ibGFuayIpIHsNCgkJZGlzYWJsZUxvYWRpbmcgPSB0 cnVlOw0KCX0NCglkb0FjdGlvbihhY3Rpb25JZCwgYWRkaXRpb25hbFBhcmFtcywg Y2hlY2tDaGFuZ2VzLCBkaXNhYmxlTG9hZGluZywgdGFyZ2V0LCB1cmwpOw0KCXJl dHVybjsNCn0NCg0KLyoqDQogKiBTdWJtaXQgdGhlIHBhZ2UsIGFmdGVyIGhhdmUg c2V0dGluZyB0aGUgY29ycmVjdCBhY3Rpb24gaWQgaW4gdGhlIGhpZGRlbiBmaWVs ZCB3aXRoIGlkICdhY3Rpb24nIChjcmVhdGVkIGJ5IHRlbXBsYXRlLmpzcCkuDQog Ki8NCmZ1bmN0aW9uIGRvQWN0aW9uKGFjdGlvbklkLCBhZGRpdGlvbmFsUGFyYW1z LCBjaGVja0NoYW5nZXMsIGRpc2FibGVMb2FkaW5nLCB0YXJnZXQsIHVybCkgew0K CXZhciBtYWluRm9ybSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtYWluRm9y bSIpOw0KCW1haW5Gb3JtLnRhcmdldCA9IHRhcmdldDsNCgltYWluRm9ybS5nZXRB dHRyaWJ1dGVOb2RlKCJhY3Rpb24iKS52YWx1ZSA9ICh1cmwgIT0gbnVsbCA/IHVy bCA6ICI/IikrYWRkaXRpb25hbFBhcmFtczsNCglpZihjaGVja0NoYW5nZXMgJiYg aGFzRWxlbWVudENoYW5nZWQpew0KCQlkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn YWN0aW9uJykudmFsdWUgPSBhY3Rpb25JZDsNCgkJLy9kb2N1bWVudC5nZXRFbGVt ZW50QnlJZCgnanNFbmFibGVkJykudmFsdWUgPSAidHJ1ZSI7DQoJCXRyeSB7DQoJ CQlnZW5lcmF0ZUJveENvbXBvbmVudCgnJywnJyk7DQoJCX0gY2F0Y2ggKGUpIHsN CgkJCS8vaWdub3JlIHNob3dkaXYgZXJyb3I6IHdlIHdhbnQgdG8gZXhlY3V0ZSBh Y3Rpb24gIQ0KCQkJYWxlcnQoZS50b1N0cmluZygpKTsNCgkJfQ0KCQlyZXR1cm4g Ow0KCX0NCglzdWJtaXRQYWdlV2l0aEFjdGlvbihhY3Rpb25JZCwgZGlzYWJsZUxv YWRpbmcpOw0KfQ0KLyoqDQogKiBQcmV2ZW50IHN1Ym1pdHRpbmcgdGhlIGZvcm0g YmVmb3JlIG9uY2xpY2sgZXZlbnQgcHJvdmlkZSBjb3JyZWN0IGFjdGlvbiB0byB0 aGUgZm9ybQ0KICogDQogKi8NCmZ1bmN0aW9uIGRpc2FibGVPbnN1Ym1pdChib28p ew0KCWlmICghYm9vKXsNCgkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21haW5G b3JtJykub25zdWJtaXQgPSBmdW5jdGlvbiBvbnN1Ym1pdChldmVudCkgeyANCgkJ CS8vTm90aGluZyBmb3Igb25zdWJtaXQNCgkJfSA7DQoJfQ0KCWVsc2V7DQoJCWRv Y3VtZW50LmdldEVsZW1lbnRCeUlkKCdtYWluRm9ybScpLm9uc3VibWl0ID0gZnVu Y3Rpb24gb25zdWJtaXQoZXZlbnQpIHsgDQoJCQlyZXR1cm4gZmFsc2U7DQoJCX0g OwkJDQoJfQ0KfQ0KDQovKioNCiAqIFN1Ym1pdCB0aGUgcGFnZSwgYWZ0ZXIgaGF2 ZSBzZXR0aW5nIHRoZSBjb3JyZWN0IGFjdGlvbiBpZCBpbiB0aGUgaGlkZGVuIGZp ZWxkIHdpdGggaWQgJ2FjdGlvbicgKGNyZWF0ZWQgYnkgdGVtcGxhdGUuanNwKS4N CiAqLw0KZnVuY3Rpb24gc3VibWl0UGFnZVdpdGhBY3Rpb24oYWN0aW9uSWQsIGRp c2FibGVMb2FkaW5nKSB7DQoJaWYgKCFkaXNhYmxlTG9hZGluZykgew0KCSAgdHJ5 IHsNCgkJc2hvd0RpdignbG9hZGluZycpOw0KCSAgfSBjYXRjaCAoZSkgew0KCQkv L2lnbm9yZSBzaG93ZGl2IGVycm9yOiB3ZSB3YW50IHRvIGV4ZWN1dGUgYWN0aW9u ICENCgkgIH0NCgl9DQoJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2FjdGlvbicp LnZhbHVlID0gYWN0aW9uSWQ7DQoJLy9kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn anNFbmFibGVkJykudmFsdWUgPSAidHJ1ZSI7DQoJZG9jdW1lbnQuZ2V0RWxlbWVu dEJ5SWQoJ21haW5Gb3JtJykuc3VibWl0KCk7DQp9DQovKioNCiAqIFRoaXMgZnVu Y3Rpb24gY3JlYXRlIGFuZCBkaXNwbGF5IHRoZSBxdWVzdGlvbiBib3ggY29tcG9u ZW50DQogKiBAcGFyYW0geWVzRnVuY3Rpb24gOiB0aGUgZnVuY3Rpb24gY2FsbGVk IG9uIFlFUyBjbGljaw0KICogQHBhcmFtIG5vRnVuY3Rpb24gOiB0aGUgZnVuY3Rp b24gY2FsbGVkIG9uIE5PIGNsaWNrDQogKi8NCmZ1bmN0aW9uIGdlbmVyYXRlQm94 Q29tcG9uZW50KHllc0Z1bmN0aW9uLCBub0Z1bmN0aW9uKXsNCgl2YXIgeWVzRGVm YXVsdD0iZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21haW5Gb3JtJykuc3VibWl0 KCk7IjsNCgl2YXIgbm9EZWZhdWx0PSJoaWRlRGl2KCdib3hDb21wb25lbnQnKTsi Ow0KCXZhciBib3ggPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYm94Q29tcG9u ZW50Iik7DQoJYm94LmlubmVySFRNTCA9ICI8ZGl2IGNsYXNzPSdib3hDb21wb25l bnQnPjxkaXYgY2xhc3M9J3RvcCc+PHNwYW4+Iit0cmFkTm90aWZpY2F0aW9uKyI8 L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0nbWlkZGxlJz48cD4iK3RyYWRQYWdlQ2hh bmdlZCsiPGJyLz4iK3RyYWRVbnNhdmVkTG9zdCsiPC9wPjwvZGl2PjxkaXYgY2xh c3M9J2JvdHRvbScgc3R5bGU9J3BhZGRpbmctYm90dG9tOiAtMTBweDsnPjxmaWVs ZHNldCBjbGFzcz0nYm94VmFsaWRhdGlvbic+PGxlZ2VuZD4iK3RyYWRWYWxpZGF0 aW9uKyI8L2xlZ2VuZD48ZGl2IGNsYXNzPSdidXR0b25Db250YWluZXInPjxkaXYg Y2xhc3M9J2xlZnRCdXR0b25QYXJ0Jz48aW5wdXQgdHlwZT0nYnV0dG9uJyBjbGFz cz0nYnV0dG9uJyB2YWx1ZT0nIit0cmFkT2srIicgb25jbGljaz1cIiIreWVzRGVm YXVsdCsiIFwiLz48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSdidXR0b25Db250YWlu ZXInPjxkaXYgY2xhc3M9J2xlZnRCdXR0b25QYXJ0Jz48aW5wdXQgdHlwZT0nYnV0 dG9uJyBjbGFzcz0nYnV0dG9uJyB2YWx1ZT0nIit0cmFkQ2FuY2VsKyInIG9uY2xp Y2s9XCIiK25vRGVmYXVsdCsiXCIvPjwvZGl2PjwvZGl2PjwvZmllbGRzZXQ+PC9k aXY+PC9kaXY+IjsNCglzaG93RGl2KCJib3hDb21wb25lbnQiKTsNCn0NCi8qKg0K ICogVGhpcyBmdW5jdGlvbiBjcmVhdGUgYSBsaW5rIHRvIGhlbHAgcGFnZXMgaW4g YSBuZXcgd2luZG93DQogKi8NCmZ1bmN0aW9uIHdyaXRlSGVscExpbmsocGFnZSwg aGVscExhYmVsLCBzZWN0aW9uKXsNCglpZihzZWN0aW9uICE9ICcnKSB7DQoJCXBh Z2UgPSBwYWdlICsgIi4iICsgc2VjdGlvbjsNCgl9DQoJZG9jdW1lbnQud3JpdGUo IjxhIGNsYXNzPSdibGFjaycgaHJlZj0namF2YXNjcmlwdDo7JyBvbmNsaWNrPVwi d2luZG93Lm9wZW4oJyIgKyBhcHBDb250ZXh0Um9vdCArICIvbWlzYy9oZWxwUGFn ZS5kbz9oZWxwUGFnZUlkPSIgKyBwYWdlICsgIicsJ0hlbHAnLCdtZW51YmFyPW5v LCBzdGF0dXM9bm8sIGRpcmVjdG9yaWVzPW5vLCBsb2NhdGlvbj1ubywgcmVzaXph YmxlPW5vLCAgd2lkdGg9OTIwLCBoZWlnaHQ9NjAwJyk7IFwiPiIgKyBoZWxwTGFi ZWwgKyAiPC9hPiIpOw0KfQ0KLyoqDQogKiBUaGlzIGZ1bmN0aW9uIGNyZWF0ZSBh IGRhdGVwaWNrZXIgaWNvbiBuZXh0IHRvIHJlbGV2YW50IGlucHV0DQogKi8NCmZ1 bmN0aW9uIHdyaXRlRGF0ZXBpY2tlcihmaWVsZCwgZGlzcGxheUNsYXNzLCBpbWdJ ZCl7DQoJZG9jdW1lbnQud3JpdGUoJyA8aW1nIGlkPSInK2ltZ0lkKyciIHNyYz0i JytjYWxlbmRhclVybCsnIiBzdHlsZT0idmlzaWJpbGl0eTonK2Rpc3BsYXlDbGFz cysnIiBhbHQ9ImRhdGVwaWNrZXIiIG9uY2xpY2s9ImRpc3BsYXlEYXRlUGlja2Vy KFwnJytmaWVsZCsnXCcsIGZhbHNlLCBcJ2RteVwnLCBcJy1cJyk7IiAvPicpOw0K fQ0KLyoqDQogKiBUaGlzIGZ1bmN0aW9uIGNyZWF0ZSBhIGJvb2ttYXJrIGljb24N CiAqLw0KZnVuY3Rpb24gd3JpdGVCb29rbWFya0RvY3VtZW50KGltZ1NyYywgdGl0 bGUsIGJtTmFtZSwgYm1Vcmwpew0KCXZhciBmYXZOYW1lID0gYm1OYW1lOw0KCWZh dk5hbWUgPSBmYXZOYW1lLnJlcGxhY2UoL1wiL2csIiZxdW90OyIpOw0KCWZhdk5h bWUgPSBmYXZOYW1lLnJlcGxhY2UoLycvZywiXFwnIikNCglkb2N1bWVudC53cml0 ZSgiPGEgaHJlZj1cImphdmFzY3JpcHQ6O1wiIG9uY2xpY2s9XCJib29rbWFya1Bh Z2UoJyIrZmF2TmFtZSsiJywnIitibVVybCsiJylcIiBjbGFzcz1cImljb25cIj48 aW1nIHNyYz0nIitpbWdTcmMrIicgYWx0PSciK3RpdGxlKyInIHRpdGxlPSciK3Rp dGxlKyInLz48L2E+Iik7DQp9DQovKioNCiAqIFRoaXMgZnVuY3Rpb24gY3JlYXRl IHRoZSBsb2FkaW5nIHdpZGdldA0KICovDQpmdW5jdGlvbiB3cml0ZUxvYWRpbmdC b3gocGxlYXNlV2FpdFR4dCl7DQoJZG9jdW1lbnQud3JpdGUoIjxkaXYgaWQ9XCJm b3JlZ3JvdW5kXCI+PC9kaXY+PGRpdiBpZD1cImxvYWRpbmdcIj48cCBjbGFzcz0n Ym9sZCc+IitwbGVhc2VXYWl0VHh0KyI8L3A+PGltZyBzcmM9XCIiK2ltYWdlRm9s ZGVyKyJsb2FkaW5nLmdpZiBcIiBhbHQ9XCIiK3BsZWFzZVdhaXRUeHQrIlwiIHRp dGxlPVwiIitwbGVhc2VXYWl0VHh0KyJcIiAvPjwvZGl2PiIpOw0KfQ0KLyoqDQog KiBBZGQgYXV0b21hdGljYWxseSB0aGUgcHJvdmlkZWQgdXJsIGluIHRoZSBicm93 c2VyIGJvb2ttYXJrIA0KICogSW5mb3JtIHVzZXIgd2hlbiBicm93c2VyIGlzIG5v dCBjb21wYXRpYmxlDQogKi8NCmZ1bmN0aW9uIGJvb2ttYXJrUGFnZShuYW1lLCB1 cmwpew0KCWlmKG5hbWU9PW51bGwgfHwgdXJsPT1udWxsKXsNCgkJYWxlcnQoIkVy cm9yIDFcbiIrdHJhZEVycm9yQm9va21hcmtQYWdlKTsNCgkJcmV0dXJuOw0KCX0N CglpZiAodXJsICE9IG51bGwgJiYgdXJsLmluZGV4T2YoImh0dHA6IikgPCAwKXsN CgkJYWxlcnQoIkVycm9yIDJcbiIrdHJhZEVycm9yQm9va21hcmtQYWdlKTsNCgkJ cmV0dXJuOw0KCX0NCglpZih3aW5kb3cuZXh0ZXJuYWwgJiYgIXdpbmRvdy5zaWRl YmFyICYmIG5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKS5pbmRleE9m KCdjaHJvbWUnKTwgMCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFk ZCBJRSBmYXZvcml0ZQ0KCQlleHRlcm5hbC5BZGRGYXZvcml0ZSh1cmwsbmFtZSk7 DQoJfSBlbHNlIGlmKHdpbmRvdy5zaWRlYmFyICYmIHNpZGViYXIuYWRkUGFuZWwg JiYgbmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpLmluZGV4T2YoJ2No cm9tZScpPCAwKSB7IAkJCQkJLy8gYWRkIHRvIEZGIGJvb2ttYXJrcw0KCQlzaWRl YmFyLmFkZFBhbmVsKG5hbWUsdXJsLCcnKTsNCgl9IGVsc2UgeyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCQkJCSAvLyB1bmtub3duIGJy b3dzZXI6IHJlcG9ydCB1c2VyDQoJCWFsZXJ0KHRyYWRFcnJvckJvb2ttYXJrUGFn ZSk7DQoJfQ0KDQp9DQovKioNCiAqIEVuYWJsZS9kaXNhYmxlICdleGFjdCBkYXRl JyBhbmQgJ2Zyb20vdG8gZGF0ZScgaW5wdXRzDQogKi8NCmZ1bmN0aW9uIHN3aXRj aERhdGVDaG9pY2UoKXsNCgl2YXIgcHVibGljYXRpb25EYXRlID0gZG9jdW1lbnQu Z2V0RWxlbWVudHNCeU5hbWUoInNlYXJjaENyaXRlcmlhLnB1YmxpY2F0aW9uRGF0 ZSIpWzBdOw0KCXZhciBwdWJsaWNhdGlvbkRhdGVDaG9pY2UgPSBkb2N1bWVudC5n ZXRFbGVtZW50c0J5TmFtZSgic2VhcmNoQ3JpdGVyaWEucHVibGljYXRpb25EYXRl Q2hvaWNlIilbMF07DQoJdmFyIGZyb21QdWJsaWNhdGlvbkRhdGUgPSBkb2N1bWVu dC5nZXRFbGVtZW50c0J5TmFtZSgic2VhcmNoQ3JpdGVyaWEuZnJvbVB1YmxpY2F0 aW9uRGF0ZSIpWzBdOw0KCXZhciB0b1B1YmxpY2F0aW9uRGF0ZSA9IGRvY3VtZW50 LmdldEVsZW1lbnRzQnlOYW1lKCJzZWFyY2hDcml0ZXJpYS50b1B1YmxpY2F0aW9u RGF0ZSIpWzBdOw0KCQ0KCWlmKCFwdWJsaWNhdGlvbkRhdGVDaG9pY2UuY2hlY2tl ZCl7DQoJCS8vZGlzYWJsZSBleGFjdCBwdWJsaWNhdGlvbiBkYXRlDQoJCXB1Ymxp Y2F0aW9uRGF0ZS5kaXNhYmxlZCA9ICJkaXNhYmxlZCI7DQoJCXB1YmxpY2F0aW9u RGF0ZS52YWx1ZSA9ICIiOw0KCQlwdWJsaWNhdGlvbkRhdGUuY2xhc3NOYW1lID0g ImZpZWxkIGJsdWVCZyBkaXNhYmxlZCI7DQoJCWRvY3VtZW50LmdldEVsZW1lbnRC eUlkKCJleGFjdFBEIikuc3R5bGUudmlzaWJpbGl0eT0iaGlkZGVuIjsgLy8gaGlk ZSBkYXRlcGlja2VyIGltZw0KCQkvL2VuYWJsZSBmcm9tL3RvIERhdGUNCgkJZnJv bVB1YmxpY2F0aW9uRGF0ZS5kaXNhYmxlZCA9ICIiOw0KCQl0b1B1YmxpY2F0aW9u RGF0ZS5kaXNhYmxlZCA9ICIiOw0KCQlpZihmcm9tUHVibGljYXRpb25EYXRlLmNs YXNzTmFtZSAhPSAiZmllbGQgYmx1ZUJnIGVycm9yIikgew0KCQkJZnJvbVB1Ymxp Y2F0aW9uRGF0ZS5jbGFzc05hbWUgPSAiZmllbGQgYmx1ZUJnIjsNCgkJfQ0KCQlp Zih0b1B1YmxpY2F0aW9uRGF0ZS5jbGFzc05hbWUgIT0gImZpZWxkIGJsdWVCZyBl cnJvciIpIHsNCgkJCXRvUHVibGljYXRpb25EYXRlLmNsYXNzTmFtZSA9ICJmaWVs ZCBibHVlQmciOw0KCQl9DQoJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0b1BE Iikuc3R5bGUudmlzaWJpbGl0eT0idmlzaWJsZSI7IC8vIHNob3cgZGF0ZXBpY2tl ciBpbWcNCgkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZyb21QRCIpLnN0eWxl LnZpc2liaWxpdHk9InZpc2libGUiOyAvLyBzaG93IGRhdGVwaWNrZXIgaW1nDQoJ fQ0KCWVsc2V7DQoJCXB1YmxpY2F0aW9uRGF0ZS5kaXNhYmxlZCA9ICIiOw0KCQlp ZihwdWJsaWNhdGlvbkRhdGUuY2xhc3NOYW1lICE9ICJmaWVsZCBibHVlQmcgZXJy b3IiKSB7DQoJCQlwdWJsaWNhdGlvbkRhdGUuY2xhc3NOYW1lID0gImZpZWxkIGJs dWVCZyI7DQoJCX0NCgkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImV4YWN0UEQi KS5zdHlsZS52aXNpYmlsaXR5PSJ2aXNpYmxlIjsNCgkJDQoJCWZyb21QdWJsaWNh dGlvbkRhdGUuZGlzYWJsZWQgPSAiZGlzYWJsZWQiOw0KCQl0b1B1YmxpY2F0aW9u RGF0ZS5kaXNhYmxlZCA9ICJkaXNhYmxlZCI7DQoJCWZyb21QdWJsaWNhdGlvbkRh dGUudmFsdWUgPSAiIjsNCgkJdG9QdWJsaWNhdGlvbkRhdGUudmFsdWUgPSAiIjsN CgkJZnJvbVB1YmxpY2F0aW9uRGF0ZS5jbGFzc05hbWUgPSAiZmllbGQgYmx1ZUJn IGRpc2FibGVkIjsNCgkJdG9QdWJsaWNhdGlvbkRhdGUuY2xhc3NOYW1lID0gImZp ZWxkIGJsdWVCZyBkaXNhYmxlZCI7DQoJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlk KCJ0b1BEIikuc3R5bGUudmlzaWJpbGl0eT0iaGlkZGVuIjsNCgkJZG9jdW1lbnQu Z2V0RWxlbWVudEJ5SWQoImZyb21QRCIpLnN0eWxlLnZpc2liaWxpdHk9ImhpZGRl biI7DQoJfQ0KfQ0KDQovKioNCiAqIFNob3cgaHRtbCBlbGVtZW50IHdpdGggcHJv dmlkZWQgaWQgb3ZlciBhIHN0YW5kYXJkIGJhY2tncm91bmQNCiAqLw0KZnVuY3Rp b24gc2hvd0RpdihkaXZJZCl7CQ0KCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdm b3JlZ3JvdW5kJykuc3R5bGUuaGVpZ2h0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5 SWQoImZvb3RlciIpLm9mZnNldFRvcCsxMDArInB4IjsgDQoJZG9jdW1lbnQuZ2V0 RWxlbWVudEJ5SWQoJ2ZvcmVncm91bmQnKS5zdHlsZS50b3AgPSAiMHB4IjsNCglk b2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZm9yZWdyb3VuZCcpLnN0eWxlLmxlZnQg PSAiMHB4IjsNCglkb2N1bWVudC5nZXRFbGVtZW50QnlJZChkaXZJZCkuc3R5bGUu bGVmdCA9ICIwIjsNCglpZihkaXZJZC5pbmRleE9mKCJsb2FkaW5nIik+LTEpew0K CQkvL2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKGRpdklkKS5pbm5lckhUTUwgPSBs b2FkaW5nQ29udGVudDsNCgkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZGl2SWQp LnN0eWxlLmxlZnQgPSAiNDMlIjsNCgl9DQoJLy9oaWRlIDxzZWxlY3Q+IHVzZWZ1 bCBmb3IgaWU2DQoJdmFyIHNlbGVjdHMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5 VGFnTmFtZSgic2VsZWN0Iik7DQoJZm9yICh2YXIgaSA9IDA7IGkgPCBzZWxlY3Rz Lmxlbmd0aDsgaSsrKSB7IA0KCQlzZWxlY3RzW2ldLnN0eWxlLnZpc2liaWxpdHkg PSJoaWRkZW4iOw0KCX0NCn0NCg0KZnVuY3Rpb24gY2hlY2tOb3RNaWRkbGVPcktl eUNsaWNrKGUpewkNCgl2YXIgZXZ0PXdpbmRvdy5ldmVudD8gZXZlbnQgOiBlIA0K CXZhciBtaWRkbGVDbGljazsNCgl2YXIgY3RybENsaWNrOw0KCXZhciBjb2RlOw0K CS8vY2hlY2sgaWYgbWlkZGxlIG1vdXNlIGNsaWNrIHdhcyBwZXJmb3JtZWQNCglp ZiAoZXZ0LndoaWNoKXsgDQoJCW1pZGRsZUNsaWNrID0gKGV2dC53aGljaCA9PSAy KTsNCgl9DQoJZWxzZSBpZiAoZXZ0LmJ1dHRvbil7IA0KCQkvL2ZvbGxvd2luZyBk ZWZpbml0aW9uIFczQzogbWlkZGxlID0gMSwgTWljcm9zb2Z0OiBtaWRkbGUgPSA0 DQoJCW1pZGRsZUNsaWNrID0gKGV2dC5idXR0b24gPT0gMSB8fCBldnQuYnV0dG9u ID09IDQpOw0KCX0NCglzaGlmdFByZXNzZWQgPSBldnQuc2hpZnRLZXk7DQogICAg YWx0UHJlc3NlZCAgID0gZXZ0LmFsdEtleTsNCgljdHJsUHJlc3NlZCAgPSBldnQu Y3RybEtleTsNCgkvL2hpZGUgZGl2IGJlY2F1c2Ugb25sb2FkIGlzIG5vdCBjb3Jy ZWN0bHkgaGFuZGxlZCBpbiBjaHJvbWUgd2hlbiBtaWRkbGUgY2xpY2sgYW5kIG5v dCBjb3JyZWN0bHkgaGFuZGxlZCBpbiBjaHJvbWUNCgkvL2FuZCBmaXJlZm94IHdo ZW4gY3RybC1sZWZ0IGNsaWNrLCBzbyBsb2FkIHdpbGwgZnJlZXplIHRoZSBvbGQg dGFiIGluIGNocm9tZSB3aGVuIG9wZW5pbmcgYSBuZXcgdGFiDQogICAgaWYgKG1p ZGRsZUNsaWNrIHx8c2hpZnRQcmVzc2VkIHx8IGFsdFByZXNzZWQgfHwgY3RybFBy ZXNzZWQpew0KCQlyZXR1cm4gZmFsc2U7DQoJfSBlbHNlIHsNCgkJcmV0dXJuIHRy dWU7DQoJfQ0KfQ0KDQovKioNCiAqIEhpZGUgYmFja2dyb3VuZCBhbmQgaHRtbCBl bGVtZW50IHdpdGggcHJvdmlkZWQgaWQNCiAqLw0KZnVuY3Rpb24gaGlkZURpdihk aXZJZCl7DQoJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZvcmVncm91bmQnKS5z dHlsZS5oZWlnaHQgPSAiMHB4IjsgDQoJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo J2ZvcmVncm91bmQnKS5zdHlsZS50b3AgPSAiLTEwMDAwcHgiOw0KCWRvY3VtZW50 LmdldEVsZW1lbnRCeUlkKCdmb3JlZ3JvdW5kJykuc3R5bGUubGVmdCA9ICItMTAw MDBweCI7DQoJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZGl2SWQpLnN0eWxlLmxl ZnQgPSAiLTEwMDAwcHgiOw0KCXZhciBzZWxlY3RzID0gZG9jdW1lbnQuZ2V0RWxl bWVudHNCeVRhZ05hbWUoInNlbGVjdCIpOw0KCWZvciAodmFyIGkgPSAwOyBpIDwg c2VsZWN0cy5sZW5ndGg7IGkrKykgeyANCgkJc2VsZWN0c1tpXS5zdHlsZS52aXNp YmlsaXR5ID0idmlzaWJsZSI7DQoJfQ0KfQ0KDQp2YXIgY3VycmVudEVsZW1lbnRW YWx1ZT0iIjsNCnZhciBoYXNFbGVtZW50Q2hhbmdlZCA9IGZhbHNlOw0KLyoqDQog KiBUaGlzIGZ1bmN0aW9uIHNldCBhIGJvb2xlYW4gdmFyaWFibGUgd2hlbiB0aGUg dXNlciBjaGFuZ2UgaW5wdXRzIHZhbHVlDQogKiBvbmZvY3VzIHNldCBkZWZhdWx0 IHZhbHVlDQogKiBvbmJsdXIgY2hlY2sgaWYgdGhlIHZhbHVlIGhhcyBjaGFuZ2Vk DQogKi8NCmZ1bmN0aW9uIGZvcm1FbGVtZW50Rm9jdXMoZWwpew0KCWlmKGVsLnR5 cGUuaW5kZXhPZigidGV4dCIpPiAtMSl7CS8vIHZhbHVlIGZvciBpbnB1dCB0eXBl PXRleHQNCgkJY3VycmVudEVsZW1lbnRWYWx1ZT1lbC52YWx1ZTsNCgl9DQoJZWxz ZXsJCQkJCQkJCS8vIHNlbGVjdGVkSW5kZXggZm9yIHNlbGVjdA0KCQljdXJyZW50 RWxlbWVudFZhbHVlPWVsLnNlbGVjdGVkSW5kZXg7DQoJfQ0KfQ0KZnVuY3Rpb24g Zm9ybUVsZW1lbnRCbHVyKGVsKXsNCglpZihlbC50eXBlLmluZGV4T2YoInRleHQi KT4gLTEpew0KCQlpZiAoY3VycmVudEVsZW1lbnRWYWx1ZSAhPSBlbC52YWx1ZSl7 DQoJCQloYXNFbGVtZW50Q2hhbmdlZCA9IHRydWU7DQoJCX0NCgl9DQoJZWxzZXsN CgkJaWYgKGN1cnJlbnRFbGVtZW50VmFsdWUgIT0gZWwuc2VsZWN0ZWRJbmRleCl7 DQoJCQloYXNFbGVtZW50Q2hhbmdlZCA9IHRydWU7DQoJCX0NCgl9DQp9DQovKioN CiAqIFNwZWNpYWwgY2hlY2sgZm9yIGNoZWNrYm94IGNoYW5nZQ0KICovDQpmdW5j dGlvbiBmb3JtQ2hlY2tib3hDaGFuZ2UoZWwpewkvLyBhbnkgY2hhbmdlIGluIGNo ZWNrYm94IG1ha2UgdGhlIGJvb2xlYW4gdHJ1ZSA+IChnb29nbGUgZG9lcyBub3Qg c3VwcG9ydCBmb2N1cy9ibHVyIG9uIGNoZWNrYm94KQ0KCWhhc0VsZW1lbnRDaGFu Z2VkID0gdHJ1ZTsNCn0NCi8qKg0KICogVGhpcyBmdW5jdGlvbiBjcmVhdGUgYSAn cGx1cycgaWNvbiBuZXh0IHRvIHJlbGV2YW50IGlucHV0cw0KICovDQpmdW5jdGlv biB3cml0ZVBpY2tMaW5rKHJlZkRhdGFJZCwgdGl0bGUsIGltZ1VybCwgaW5wdXRJ ZCl7DQoJZG9jdW1lbnQud3JpdGUoJzxhIGhyZWY9ImphdmFzY3JpcHQ6OyIgb25j bGljaz0ic3RhcnRQaWNrUmVmRGF0YShcJycgKyAgcmVmRGF0YUlkICsgJ1wnLCBc JycraW5wdXRJZCsnXCcpIiB0aXRsZT0iJyt0aXRsZSsnIj48aW1nIHNyYz0iJytp bWdVcmwrJyIgYWx0PSInK3RpdGxlKyciIC8+PC9hPicpOwkNCn0NCmZ1bmN0aW9u IHdyaXRlRmlsdGVyQnV0dG9uKHJlZkRhdGFJZCl7DQoJZG9jdW1lbnQud3JpdGUo IjxkaXYgY2xhc3M9J2J1dHRvbkNvbnRhaW5lcic+PGRpdiBjbGFzcz0nbGVmdEJ1 dHRvblBhcnQnPjxpbnB1dCB2YWx1ZT0nIit0cmFkQXBwbHkrIicgdGl0bGU9JyIr dHJhZEFwcGx5KyInIGNsYXNzPSdidXR0b24nIG9uY2xpY2s9XCJmaWx0ZXJGcm9t QnJvd3NlKCciK3JlZkRhdGFJZCsiJylcIiB0eXBlPSdidXR0b24nPjwvZGl2Pjwv ZGl2PiIpOwkNCn0NCg0KDQp2YXIgYWpheFByb2Nlc3NpbmcgPSBmYWxzZTsNCnZh ciBvcmlnaW5hbElucHV0SWQ9IiI7DQp2YXIgZ2VuZXJhdGVGdW5jdGlvbiA9IiI7 DQp2YXIgdXNlRGVzY3JpcHRpb25NYXAgPSBuZXcgQXJyYXkoKTsNCnZhciBkaXNw bGF5S2V5TWFwID0gbmV3IEFycmF5KCk7DQp2YXIgZGlzcGxheUZpcnN0TGV2ZWxL ZXlNYXAgPSBuZXcgQXJyYXkoKTsNCnZhciBsb2FkaW5nSW1nPSI8aW1nIHNyYz0n IitpbWFnZUZvbGRlcisiYWpheC1sb2FkaW5nLmdpZicgYWx0PSdsb2FkaW5nJyAv PiI7DQp2YXIgbG9hZGluZ0ltZzI9Ijxici8+PGltZyBzcmM9JyIraW1hZ2VGb2xk ZXIrImFqYXgtbG9hZGluZzIuZ2lmJyBhbHQ9J2xvYWRpbmcnIHN0eWxlPSdtYXJn aW4tbGVmdDozMHB4OycgLz4iOw0KLyoqDQogKiBUaGlzIG1ldGhvZCBpcyBjYWxs ZWQgd2hlbiBhIHVzZXIgY2xpY2tzIG9uIGEgcGljayBsaW5rICh3aGVuIGphdmFz Y3JpcHQgaXMgZW5hYmxlKS4gVGhpcyBpcyB0aGUgbWFpbiBlbnRyeSBwb2ludCBm b3IgdGhlIEFKQVggd29ya2Zsb3cuDQogKiBAcmV0dXJuIGFsd2F5cyBmYWxzZQ0K ICovDQpmdW5jdGlvbiBzdGFydFBpY2tSZWZEYXRhKHJlZkRhdGFJZCxpbnB1dElk KSB7DQoJLy9UT0RPDQoJaWYgKGFqYXhQcm9jZXNzaW5nID09IHRydWUpIHsNCgkJ d2luZG93LnN0YXR1cyA9ICJBY3Rpb24gY2FuY2VsbGVkOiBjYW4ndCBwcm9jZXNz IHNlbmQgMiBhamF4IHJlcXVlc3QgYXQgdGhlIHNhbWUgdGltZSI7DQoJCXJldHVy biBmYWxzZTsNCgl9DQoJLy9nZW5lcmF0ZUZ1bmN0aW9uID0gImdlbmVyYXRlTGlD b250ZW50MSI7DQoJZ2VuZXJhdGVGdW5jdGlvbiA9ICJmcm9tU2VhcmNoIjsNCglz aG93RGl2KCdsb2FkaW5nJyk7DQoJLy9zZXQgdGhlIGlkIG9mIHRoZSBsaW5rZWQg aW5wdXQgdGV4dA0KCW9yaWdpbmFsSW5wdXRJZD1pbnB1dElkOw0KCS8vc2V0IHRo ZSAnYWpheCcgcHJvY2Vzc2luZyBwYWdlIHZhcmlhYmxlIHRvIHRydWUsIGluIG9y ZGVyIHRvIGF2b2lkIHNldmVyYWwgc2ltdWx0YW5lb3VzIGFqYXggcHJvY2Vzc2lu Zy4NCglhamF4UHJvY2Vzc2luZyA9IHRydWU7DQoJLy9zZW5kIGluaXQgYWpheCBy ZXF1ZXN0DQoJdmFyIGFqYXhVcmwgPSByZWZEYXRhQWpheFNlcnZpY2VCYXNlVXJs ICsgJ2FjdGlvbj1sb2FkSW5pdGlhbFRyZWUmcmVmRGF0YUlkPScgKyBlbmNvZGVV UklDb21wb25lbnQocmVmRGF0YUlkKTsNCglzZW5kQWpheFJlcXVlc3QoYWpheFVy bCwgb25Mb2FkSW5pdGlhbFJlZkRhdGFDYWxsQmFjayk7DQoJLy9yZWdpc3RlciB0 aGUgcHJvY2Vzcw0KCXJldHVybiBmYWxzZTsNCn0NCmZ1bmN0aW9uIG9uTG9hZElu aXRpYWxSZWZEYXRhQ2FsbEJhY2soYWpheFJlc3BvbnNlKSB7DQoJdmFyIGR5bmFt aWM9IiI7DQoJdmFyIGZvb3Rlcj0iPC9kaXY+PC9maWVsZHNldD48ZmllbGRzZXQg Y2xhc3M9XCJmb290ZXJKU1wiPjxsZWdlbmQ+Iit0cmFkVmFsaWRhdGlvbisiPC9s ZWdlbmQ+PGRpdiBjbGFzcz1cImJ1dHRvbkNvbnRhaW5lclwiPjxkaXYgY2xhc3M9 XCJsZWZ0QnV0dG9uUGFydFwiPjxpbnB1dCB0eXBlPVwiYnV0dG9uXCIgbmFtZT1c ImFjdGlvbl9jb25maXJtXCIgY2xhc3M9XCJidXR0b25cIiB2YWx1ZT1cIiIrdHJh ZE9rKyJcIiBvbmNsaWNrPVwiZmlsbElucHV0KCk7XCIvPjwvZGl2PjwvZGl2Pjxk aXYgY2xhc3M9XCJidXR0b25Db250YWluZXJcIj48ZGl2IGNsYXNzPVwibGVmdEJ1 dHRvblBhcnRcIj48aW5wdXQgdHlwZT1cImJ1dHRvblwiIG5hbWU9XCJhY3Rpb25f Y2FuY2VsXCIgY2xhc3M9XCJidXR0b25cIiB2YWx1ZT1cIiIrdHJhZENhbmNlbCsi XCIgb25jbGljaz1cImhpZGVEaXYoJ2pzQ29udGFpbmVyJyk7XCIvPjwvZGl2Pjwv ZGl2PjwvZmllbGRzZXQ+IjsNCglhamF4UHJvY2Vzc2luZyA9IGZhbHNlOw0KCS8v YWxlcnQoJ09uIGFqYXggY2FsbGJhY2s6JyArIGFqYXhSZXNwb25zZS5yZWZEYXRh SWQpOw0KCS8vYWxlcnQoJ09uIGFqYXggY2FsbGJhY2s6JyArIGFqYXhSZXNwb25z ZS5jaGlsZHJlbi5sZW5ndGgpOw0KCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJq c0NvbnRhaW5lciIpLmlubmVySFRNTD0iIjsNCgl2YXIgcmVmRGF0YUlkPWFqYXhS ZXNwb25zZS5yZWZEYXRhSWQ7DQoJZGlzcGxheUtleU1hcFtyZWZEYXRhSWRdID0g YWpheFJlc3BvbnNlLmRpc3BsYXlLZXk7DQoJZGlzcGxheUZpcnN0TGV2ZWxLZXlN YXBbcmVmRGF0YUlkXSA9IGFqYXhSZXNwb25zZS5kaXNwbGF5Rmlyc3RMZXZlbEtl eTsNCgl1c2VEZXNjcmlwdGlvbk1hcFtyZWZEYXRhSWRdPWFqYXhSZXNwb25zZS51 c2VEZXNjcmlwdGlvbjsNCgl2YXIgaGVhZGVyID0gZ2VuZXJhdGVIZWFkZXIoYWph eFJlc3BvbnNlLmlzSGllcmFyY2hpY2FsLCBhamF4UmVzcG9uc2UuYWpheFdpbmRv d1RpdGxlLCByZWZEYXRhSWQpOw0KCS8vIGlmIGhpZXJhcmNoaWNhbCA+IGdlbmVy YXRlIHRyZWUNCglpZihhamF4UmVzcG9uc2UuaXNIaWVyYXJjaGljYWwpew0KCQlk eW5hbWljID0gZ2VuZXJhdGVDaGlsZHJlbihhamF4UmVzcG9uc2UsIHJlZkRhdGFJ ZCwgdHJ1ZSk7DQoJfQ0KCS8vIGVsc2UgZ2VuZXJhdGUgc2ltcGxlIGxpc3QNCgll bHNlew0KCQlkeW5hbWljID0gZ2VuZXJhdGVMaXN0KGFqYXhSZXNwb25zZSwgcmVm RGF0YUlkKTsNCgl9DQoJLy9hbGVydChhamF4UmVzcG9uc2UuY2hpbGRyZW5bY2hp bGRdLmRlc2NyaXB0aW9uKTsNCgkvL2V4cGFuZE5vZGUoYWpheFJlc3BvbnNlLnJl ZkRhdGFJZCwgYWpheFJlc3BvbnNlLmNoaWxkcmVuWzBdLmtleSk7DQoJZG9jdW1l bnQuZ2V0RWxlbWVudEJ5SWQoImpzQ29udGFpbmVyIikuaW5uZXJIVE1MPWhlYWRl citkeW5hbWljK2Zvb3RlcjsNCgloaWRlRGl2KCdsb2FkaW5nJyk7DQoJc2hvd0Rp dignanNDb250YWluZXInKTsNCgkNCn0NCnZhciBpc0ZpbHRlcmVkVHJlZSA9IGZh bHNlOw0KZnVuY3Rpb24gcmVzZXRUcmVlKHNjb3BlKSB7DQoJdmFyIGFqYXhVcmwg PSByZWZEYXRhQWpheEJyb3dzZVNlcnZpY2VCYXNlVXJsICsgJ2FjdGlvbj11cGRh dGVTZWFyY2hTY29wZSZzZWFyY2hTY29wZT0nICsgc2NvcGUudmFsdWU7DQoJc2Vu ZEFqYXhSZXF1ZXN0KGFqYXhVcmwsIG9uUmVzZXRUcmVlQ2FsbEJhY2spOw0KCXJl dHVybiBmYWxzZTsNCn0NCmZ1bmN0aW9uIG9uUmVzZXRUcmVlQ2FsbEJhY2soYWph eFJlc3BvbnNlKSB7DQoJYWpheFByb2Nlc3NpbmcgPSBmYWxzZTsNCgl2YXIgZnVu Y3MgPSBhamF4UmVzcG9uc2Uuc3BsaXQoInwiKTsNCglmb3IgKHZhciBpPTA7IGkg PCBmdW5jcy5sZW5ndGg7IGkrKyApew0KCQlpZihmdW5jc1tpXS5pbmRleE9mKCJD T1VOVFJZIikgPiAtMSl7DQoJCQlsb2FkQ291bnRyeVRyZWUoZnVuY3NbaV0saXNG aWx0ZXJlZFRyZWUpOw0KCQl9DQoJCWVsc2V7DQoJCQlsb2FkRmlsdGVyVHJlZShm dW5jc1tpXSk7DQoJCX0NCgl9DQp9DQoNCi8qKg0KICogVGhpcyBtZXRob2QgaXMg Y2FsbGVkIG9uIG9ubG9hZCBldmVudCBvZiBicm93c2luZyBwYWdlLg0KICovDQpm dW5jdGlvbiBsb2FkQ291bnRyeVRyZWUocmVmRGF0YUlkLCBmaWx0ZXJlZFRyZWUp IHsNCglpc0ZpbHRlcmVkVHJlZSA9IGZpbHRlcmVkVHJlZTsNCglkb2N1bWVudC5n ZXRFbGVtZW50QnlJZCgibGVmdFRyZWUiKS5pbm5lckhUTUw9bG9hZGluZ0ltZzsN CgkvL2dlbmVyYXRlRnVuY3Rpb24gPSAiZ2VuZXJhdGVMaUNvbnRlbnQyIjsNCgln ZW5lcmF0ZUZ1bmN0aW9uID0gImZyb21Ccm93c2UiOw0KCS8vc2hvd0RpdignbG9h ZGluZycpOw0KCXZhciBhamF4VXJsID0gcmVmRGF0YUFqYXhCcm93c2VTZXJ2aWNl QmFzZVVybCArICdhY3Rpb249bG9hZEluaXRpYWxUcmVlJnJlZkRhdGFJZD0nICsg ZW5jb2RlVVJJQ29tcG9uZW50KHJlZkRhdGFJZCkrIiZmaWx0ZXJlZFRyZWU9Iitm aWx0ZXJlZFRyZWU7DQoJc2VuZEFqYXhSZXF1ZXN0KGFqYXhVcmwsIG9uTG9hZENv dW50cnlUcmVlQ2FsbEJhY2spOw0KCXJldHVybiBmYWxzZTsNCn0NCmZ1bmN0aW9u IG9uTG9hZENvdW50cnlUcmVlQ2FsbEJhY2soYWpheFJlc3BvbnNlKSB7DQoJdmFy IGR5bmFtaWM9IiI7DQoJYWpheFByb2Nlc3NpbmcgPSBmYWxzZTsNCgl2YXIgcmVm RGF0YUlkPWFqYXhSZXNwb25zZS5yZWZEYXRhSWQ7DQoJZGlzcGxheUtleU1hcFty ZWZEYXRhSWRdID0gYWpheFJlc3BvbnNlLmRpc3BsYXlLZXk7DQoJZHluYW1pYyA9 IGdlbmVyYXRlQ2hpbGRyZW4oYWpheFJlc3BvbnNlLCBhamF4UmVzcG9uc2UucmVm RGF0YUlkLCB0cnVlKTsNCglkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibGVmdFRy ZWUiKS5pbm5lckhUTUw9ZHluYW1pYzsNCgloaWRlRGl2KCdsb2FkaW5nJyk7DQp9 DQovKioNCiAqIFRoaXMgbWV0aG9kIGlzIGNhbGxlZCBvbiBvbmxvYWQgZXZlbnQg b2YgYnJvd3NpbmcgcGFnZS4gT25seSBmb3IgZmlsdGVyYWJsZSB0cmVlLg0KICov DQpmdW5jdGlvbiBsb2FkRmlsdGVyVHJlZShyZWZEYXRhSWQpIHsNCglkb2N1bWVu dC5nZXRFbGVtZW50QnlJZCgiZmlsdGVyVHJlZSIpLmlubmVySFRNTD1sb2FkaW5n SW1nOw0KCS8vZ2VuZXJhdGVGdW5jdGlvbiA9ICJnZW5lcmF0ZUxpQ29udGVudDIi Ow0KCWdlbmVyYXRlRnVuY3Rpb24gPSAiZnJvbUJyb3dzZSI7DQoJLy9zaG93RGl2 KCdsb2FkaW5nJyk7DQoJdmFyIGFqYXhVcmwgPSByZWZEYXRhQWpheEJyb3dzZVNl cnZpY2VCYXNlVXJsICsgJ2FjdGlvbj1sb2FkSW5pdGlhbFRyZWUmcmVmRGF0YUlk PScgKyBlbmNvZGVVUklDb21wb25lbnQocmVmRGF0YUlkKTsNCglzZW5kQWpheFJl cXVlc3QoYWpheFVybCwgb25Mb2FkRmlsdGVyVHJlZUNhbGxCYWNrKTsNCglyZXR1 cm4gZmFsc2U7DQp9DQpmdW5jdGlvbiBvbkxvYWRGaWx0ZXJUcmVlQ2FsbEJhY2so YWpheFJlc3BvbnNlKSB7DQoJdmFyIGR5bmFtaWM9IiI7DQoJYWpheFByb2Nlc3Np bmcgPSBmYWxzZTsNCgl2YXIgcmVmRGF0YUlkPWFqYXhSZXNwb25zZS5yZWZEYXRh SWQ7DQoJZGlzcGxheUtleU1hcFtyZWZEYXRhSWRdID0gYWpheFJlc3BvbnNlLmRp c3BsYXlLZXk7DQoJZGlzcGxheUZpcnN0TGV2ZWxLZXlNYXBbcmVmRGF0YUlkXSA9 IGFqYXhSZXNwb25zZS5kaXNwbGF5Rmlyc3RMZXZlbEtleTsNCglkeW5hbWljID0g Z2VuZXJhdGVDaGlsZHJlbihhamF4UmVzcG9uc2UsIGFqYXhSZXNwb25zZS5yZWZE YXRhSWQsIHRydWUpOw0KCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmaWx0ZXJU cmVlIikuaW5uZXJIVE1MPWR5bmFtaWM7DQoJaGlkZURpdignbG9hZGluZycpOw0K fQ0KLyoqDQogKiBUaGlzIG1ldGhvZCBpcyBjYWxsZWQgd2hlbiBhIHVzZXIgY2xp Y2tzIG9uIGEgZXhwYW5kIGxpbmsgaW4gdGhlIEFKQVggdHJlZSBmcm9tIGJyb3dz ZSBmZWF0dXJlLg0KICovDQpmdW5jdGlvbiBleHBhbmRCcm93c2VOb2RlKHJlZkRh dGFJZCwga2V5LCBrZXlJZCkgew0KCXZhciBlbElkPSJrIitrZXlJZDsNCglkb2N1 bWVudC5nZXRFbGVtZW50QnlJZChlbElkKS5pbm5lckhUTUwrPWxvYWRpbmdJbWcy Ow0KCXZhciBhamF4VXJsID0gcmVmRGF0YUFqYXhCcm93c2VTZXJ2aWNlQmFzZVVy bCArICdhY3Rpb249ZXhwYW5kJnJlZkRhdGFJZD0nICsgZW5jb2RlVVJJQ29tcG9u ZW50KHJlZkRhdGFJZCkgKyAnJmtleT0nICsgZW5jb2RlVVJJQ29tcG9uZW50KGtl eSkrICcma2V5SWQ9JyArIGVuY29kZVVSSUNvbXBvbmVudChrZXlJZCk7DQoJdmFy IGZuYyA9IG5ldyBGdW5jdGlvbigieHgiLCAidmFyIGVsSWQ9JyIgKyBlbElkICsg Iic7IG9uRXhwYW5kTm9kZVJlZkRhdGFDYWxsQmFjayh4eCwgZWxJZCwgJyIrcmVm RGF0YUlkKyInKTsiKTsNCglzZW5kQWpheFJlcXVlc3QoYWpheFVybCwgZm5jKTsN Cn0NCi8qKg0KICogVGhlc2UgbWV0aG9kcyBhcmUgY2FsbGVkIHdoZW4gYSB1c2Vy IGNsaWNrcyBvbiBhIGV4cGFuZCBsaW5rIGluIHRoZSBBSkFYIHRyZWUuDQogKi8N CmZ1bmN0aW9uIGV4cGFuZE5vZGUocmVmRGF0YUlkLCBrZXksIGtleUlkKSB7DQoJ dmFyIGVsSWQ9ImsiK2tleUlkOw0KCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGVs SWQpLmlubmVySFRNTCs9bG9hZGluZ0ltZzI7DQoJdmFyIGFqYXhVcmwgPSByZWZE YXRhQWpheFNlcnZpY2VCYXNlVXJsICsgJ2FjdGlvbj1leHBhbmQmcmVmRGF0YUlk PScgKyBlbmNvZGVVUklDb21wb25lbnQocmVmRGF0YUlkKSArICcma2V5PScgKyBl bmNvZGVVUklDb21wb25lbnQoa2V5KSsgJyZrZXlJZD0nICsgZW5jb2RlVVJJQ29t cG9uZW50KGtleUlkKTsNCgl2YXIgZm5jID0gbmV3IEZ1bmN0aW9uKCJ4eCIsICJ2 YXIgZWxJZD0nIiArIGVsSWQgKyAiJzsgb25FeHBhbmROb2RlUmVmRGF0YUNhbGxC YWNrKHh4LCBlbElkLCAnIityZWZEYXRhSWQrIicpOyIpOw0KCXNlbmRBamF4UmVx dWVzdChhamF4VXJsLCBmbmMpOw0KfQ0KZnVuY3Rpb24gZXhwYW5kRmlsdGVyTm9k ZShyZWZEYXRhSWQsIGtleSwga2V5SWQpIHsNCgl2YXIgZWxJZD0iayIra2V5SWQ7 DQoJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZWxJZCkuaW5uZXJIVE1MKz1sb2Fk aW5nSW1nMjsNCgl2YXIgYWpheFVybCA9IHJlZkRhdGFBamF4U2VydmljZUJhc2VV cmwgKyAnYWN0aW9uPWV4cGFuZEZpbHRlciZyZWZEYXRhSWQ9JyArIGVuY29kZVVS SUNvbXBvbmVudChyZWZEYXRhSWQpICsgJyZrZXk9JyArIGVuY29kZVVSSUNvbXBv bmVudChrZXkpKyAnJmtleUlkPScgKyBlbmNvZGVVUklDb21wb25lbnQoa2V5SWQp Ow0KCXZhciBmbmMgPSBuZXcgRnVuY3Rpb24oInh4IiwgInZhciBlbElkPSciICsg ZWxJZCArICInOyBvbkV4cGFuZE5vZGVSZWZEYXRhQ2FsbEJhY2soeHgsIGVsSWQs ICciK3JlZkRhdGFJZCsiJyk7Iik7DQoJc2VuZEFqYXhSZXF1ZXN0KGFqYXhVcmws IGZuYyk7DQp9DQpmdW5jdGlvbiBvbkV4cGFuZE5vZGVSZWZEYXRhQ2FsbEJhY2so YWpheFJlc3BvbnNlLCBlbElkLCByZWZEYXRhSWQpIHsNCgl2YXIgZHluYW1pYz0i IjsNCglhamF4UHJvY2Vzc2luZyA9IGZhbHNlOw0KCWR5bmFtaWMgPSBnZW5lcmF0 ZUNoaWxkcmVuKGFqYXhSZXNwb25zZSxyZWZEYXRhSWQsIGZhbHNlKTsNCglkb2N1 bWVudC5nZXRFbGVtZW50QnlJZChlbElkKS5pbm5lckhUTUw9ZHluYW1pYzsNCn0N CmZ1bmN0aW9uIHVwZGF0ZVJpZ2h0VHJlZShyZWZEYXRhSWQsIGtleSkgew0KCWRv Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJmaWx0ZXJUcmVlIikuaW5uZXJIVE1MPWxv YWRpbmdJbWc7DQoJdmFyIGFqYXhVcmwgPSByZWZEYXRhQWpheEJyb3dzZVNlcnZp Y2VCYXNlVXJsICsgJ2FjdGlvbj1sb2FkUmlnaHRUcmVlJnJlZkRhdGFJZD0nICsg ZW5jb2RlVVJJQ29tcG9uZW50KHJlZkRhdGFJZCkgKycma2V5PScgKyBlbmNvZGVV UklDb21wb25lbnQoa2V5KTsNCglzZW5kQWpheFJlcXVlc3QoYWpheFVybCwgb25V cGRhdGVSaWdodFRyZWVDYWxsQmFjayk7DQp9DQpmdW5jdGlvbiBvblVwZGF0ZVJp Z2h0VHJlZUNhbGxCYWNrKGFqYXhSZXNwb25zZSkgew0KCXZhciBkeW5hbWljPSIi Ow0KCWFqYXhQcm9jZXNzaW5nID0gZmFsc2U7DQoJZHluYW1pYyA9IGdlbmVyYXRl Q2hpbGRyZW4oYWpheFJlc3BvbnNlLGFqYXhSZXNwb25zZS5yZWZEYXRhSWQsIHRy dWUpOw0KCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmaWx0ZXJUcmVlIikuaW5u ZXJIVE1MPWR5bmFtaWM7DQp9DQovKioNCiAqIFRoaXMgbWV0aG9kIGlzIGNhbGxl ZCB3aGVuIGEgdXNlciBjbGlja3Mgb24gdGhlIGZpbHRlciBidXR0b24gZnJvbSBi cm93c2UgcGFnZXMuDQogKi8NCmZ1bmN0aW9uIGZpbHRlckZyb21Ccm93c2UocmVm RGF0YUlkKSB7DQoJaWYgKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZWFyY2hL ZXkiKS52YWx1ZSA9PSAiIil7DQoJCWxvYWRGaWx0ZXJUcmVlKHJlZkRhdGFJZCk7 DQoJfQ0KCWVsc2Ugew0KCQlkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmlsdGVy VHJlZSIpLmlubmVySFRNTD1sb2FkaW5nSW1nOw0KCQl2YXIgYWpheFVybCA9IHJl ZkRhdGFBamF4QnJvd3NlU2VydmljZUJhc2VVcmw7DQoJCS8vc2VuZEFqYXhSZXF1 ZXN0KGFqYXhVcmwsIG9uRmlsdGVyRnJvbUJyb3dzZUNhbGxCYWNrKTsNCgkJc2Vu ZFBvc3RBamF4UmVxdWVzdChhamF4VXJsLCBvbkZpbHRlckZyb21Ccm93c2VDYWxs QmFjaywgJ2FjdGlvbj1maW5kJnJlZkRhdGFJZD0nICsgZW5jb2RlVVJJQ29tcG9u ZW50KHJlZkRhdGFJZCkgKyAnJmtleT0nICsgZW5jb2RlVVJJQ29tcG9uZW50KGRv Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZWFyY2hLZXkiKS52YWx1ZSkpOw0KCX0N Cn0NCmZ1bmN0aW9uIG9uRmlsdGVyRnJvbUJyb3dzZUNhbGxCYWNrKGFqYXhSZXNw b25zZSl7DQoJdmFyIGR5bmFtaWM9IiI7DQoJYWpheFByb2Nlc3NpbmcgPSBmYWxz ZTsNCglkeW5hbWljID0gZ2VuZXJhdGVDaGlsZHJlbihhamF4UmVzcG9uc2UsIGFq YXhSZXNwb25zZS5yZWZEYXRhSWQsIHRydWUpOw0KCWRvY3VtZW50LmdldEVsZW1l bnRCeUlkKCJmaWx0ZXJUcmVlIikuaW5uZXJIVE1MPWR5bmFtaWM7DQp9DQovKioN CiAqIFRoaXMgbWV0aG9kIGlzIGNhbGxlZCB3aGVuIGEgdXNlciBjbGlja3Mgb24g dGhlIGZpbHRlciBidXR0b24gZnJvbSBzZWFyY2ggcGFnZXMuDQogKi8NCmZ1bmN0 aW9uIGZpbmROb2RlKHJlZkRhdGFJZCkgew0KCWlmIChkb2N1bWVudC5nZXRFbGVt ZW50QnlJZCgidHJlZUZpbHRlciIpLnZhbHVlID09ICIiKXsNCgkJc3RhcnRQaWNr UmVmRGF0YShyZWZEYXRhSWQsb3JpZ2luYWxJbnB1dElkKTsNCgl9DQoJZWxzZXsN CgkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm92ZXJmbG93IikuaW5uZXJIVE1M PSI8ZGl2IHN0eWxlPSd0ZXh0LWFsaWduOmNlbnRlcic+Iitsb2FkaW5nSW1nKyI8 L2Rpdj4iOw0KCQl2YXIgYWpheFVybCA9IHJlZkRhdGFBamF4U2VydmljZUJhc2VV cmwgOw0KCQkvL3NlbmRBamF4UmVxdWVzdChhamF4VXJsLCBvbkZpbmROb2RlUmVm RGF0YUNhbGxCYWNrKTsNCgkJc2VuZFBvc3RBamF4UmVxdWVzdChhamF4VXJsLCBv bkZpbmROb2RlUmVmRGF0YUNhbGxCYWNrLCdhY3Rpb249ZmluZCZyZWZEYXRhSWQ9 JyArIGVuY29kZVVSSUNvbXBvbmVudChyZWZEYXRhSWQpICsgJyZrZXk9JyArIGVu Y29kZVVSSUNvbXBvbmVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidHJlZUZp bHRlciIpLnZhbHVlKSk7DQoJfQ0KfQ0KDQpmdW5jdGlvbiBvbkZpbmROb2RlUmVm RGF0YUNhbGxCYWNrKGFqYXhSZXNwb25zZSl7DQoJdmFyIGR5bmFtaWM9IiI7DQoJ YWpheFByb2Nlc3NpbmcgPSBmYWxzZTsNCglkeW5hbWljID0gZ2VuZXJhdGVDaGls ZHJlbihhamF4UmVzcG9uc2UsIGFqYXhSZXNwb25zZS5yZWZEYXRhSWQsIHRydWUp Ow0KCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJvdmVyZmxvdyIpLmlubmVySFRN TD1keW5hbWljOw0KfQ0KLyoqDQogKiBUaGlzIGZ1bmN0aW9uIGdlbmVyYXRlIHRo ZSBBSkFYIHRyZWUNCiAqLw0KZnVuY3Rpb24gZ2VuZXJhdGVDaGlsZHJlbihzdWJD aGlsZHJlbiwgcmVmRGF0YUlkLCBpc0ZpcnN0TGV2ZWwpew0KCXZhciBkeW5hbWlj PSIiOw0KCXZhciBzcGVjaWFsU3R5bGU9IiI7DQoJaWYoc3ViQ2hpbGRyZW4uZXhj ZXB0aW9uICE9IG51bGwpew0KCQlyZXR1cm4gIjxwIGNsYXNzPSdyZWQgYm9sZCcg c3R5bGU9J21hcmdpbi1sZWZ0OjEwJSc+IitzdWJDaGlsZHJlbi5leGNlcHRpb24r IjwvcD4iOw0KCX0NCglpZigoc3ViQ2hpbGRyZW4uY2hpbGRyZW4hPW51bGwgJiYg c3ViQ2hpbGRyZW4uY2hpbGRyZW4ubGVuZ3RoIDwgMSkgfHwgc3ViQ2hpbGRyZW4u Y2hpbGRyZW49PW51bGwpew0KCQlyZXR1cm4gIjxwIGNsYXNzPSdyZWQgYm9sZCcg c3R5bGU9J21hcmdpbi1sZWZ0OjEwJSc+Iit0cmFkTm9GaWx0ZXJSZXN1bHQrIjwv cD4iOw0KCX0NCglkeW5hbWljKz0iPHVsIGNsYXNzPVwidHJlZVwiPiI7DQoJZm9y ICh2YXIgY2hpbGQ9MCA7IGNoaWxkPCBzdWJDaGlsZHJlbi5jaGlsZHJlbi5sZW5n dGg7IGNoaWxkKyspew0KCQlzcGVjaWFsU3R5bGUgPSIiOw0KCQlkeW5hbWljKz0i PGxpPiI7DQoJCS8vaWYgY2hpbGQgaXMgYSBicmFuY2gNCgkJaWYoc3ViQ2hpbGRy ZW4uY2hpbGRyZW5bY2hpbGRdLnR5cGUgIT0gbnVsbCAmJiBzdWJDaGlsZHJlbi5j aGlsZHJlbltjaGlsZF0udHlwZS5pbmRleE9mKCJicmFuY2giKT4tMSl7DQoJCQkv LyBpZiBleHBhbmRlZCAod2l0aCBjaGlsZHJlbikgPiBkaXNwbGF5IG1pbnVzIGlj b24NCgkJCWlmKHN1YkNoaWxkcmVuLmNoaWxkcmVuW2NoaWxkXS5jaGlsZHJlbiAh PSBudWxsICYmIHN1YkNoaWxkcmVuLmNoaWxkcmVuW2NoaWxkXS5jaGlsZHJlbi5s ZW5ndGggPiAwKXsNCgkJCQlkeW5hbWljKz0iPGEgaHJlZj1cImphdmFzY3JpcHQ6 O1wiPjxpbWcgc3JjPVwiIitpbWFnZUZvbGRlcisibWludXMuZ2lmXCIgYWx0PVwi Iit0cmFkQ29sbGFwc2UrIlwiIG9uY2xpY2s9XCJkb2N1bWVudC5nZXRFbGVtZW50 QnlJZCgnayIrc3ViQ2hpbGRyZW4uY2hpbGRyZW5bY2hpbGRdLmtleUlkKyInKS5z dHlsZS5kaXNwbGF5PSdub25lJzsgY2hhbmdlVG9FeHBhbmQodGhpcywnayIrc3Vi Q2hpbGRyZW4uY2hpbGRyZW5bY2hpbGRdLmtleUlkKyInKVwiIC8+PC9hPiI7DQoJ CQl9DQoJCQkvL2lmIGNvbGxhcHNlICh3aXRob3V0IGNoaWxkcmVuKSA+IGRpc3Bs YXkgcGx1cyBpY29uDQoJCQllbHNlew0KCQkJCS8vIE9uZSBmaWx0ZXIgcmVzdWx0 ID4gaGlkZSBwbHVzIGljb24NCgkJCQlpZihzdWJDaGlsZHJlbi5jaGlsZHJlbltj aGlsZF0uZm91bmRPY2N1cmVuY2UgJiYgc3ViQ2hpbGRyZW4uY2hpbGRyZW5bY2hp bGRdLmZvdW5kT2NjdXJlbmNlID09IDEgJiYgc3ViQ2hpbGRyZW4uY2hpbGRyZW5b Y2hpbGRdLm1hdGNoKXsNCgkJCQkJc3BlY2lhbFN0eWxlID0iIHN0eWxlPSd2aXNp YmlsaXR5OmhpZGRlbiciOw0KCQkJCX0NCgkJCQlkeW5hbWljKz0iPGEgaHJlZj1c ImphdmFzY3JpcHQ6O1wiICIrc3BlY2lhbFN0eWxlKyI+PGltZyBzcmM9XCIiK2lt YWdlRm9sZGVyKyJwbHVzLmdpZlwiIGFsdD1cIiIrdHJhZEV4cGFuZCsiXCIgb25j bGljaz1cIiI7DQoJCQkJLy8gSWYgZm91bmRPY2N1cmVuY2UgPiBGaWx0ZXIgdHJl ZSANCgkJCQlpZihnZW5lcmF0ZUZ1bmN0aW9uLmluZGV4T2YoImZyb21Ccm93c2Ui KSA8IDAgKXsNCgkJCQkJaWYoc3ViQ2hpbGRyZW4uY2hpbGRyZW5bY2hpbGRdLmZv dW5kT2NjdXJlbmNlICYmIHN1YkNoaWxkcmVuLmNoaWxkcmVuW2NoaWxkXS5mb3Vu ZE9jY3VyZW5jZSA+IDApew0KCQkJCQkJZHluYW1pYys9ImV4cGFuZEZpbHRlck5v ZGUiOw0KCQkJCQl9DQoJCQkJCWVsc2V7DQoJCQkJCQlkeW5hbWljKz0iZXhwYW5k Tm9kZSI7DQoJCQkJCX0NCgkJCQl9DQoJCQkJZWxzZXsNCgkJCQkJZHluYW1pYys9 ImV4cGFuZEJyb3dzZU5vZGUiOw0KCQkJCX0NCgkJCQlkeW5hbWljKz0iKCciK3Jl ZkRhdGFJZCsiJywnIitzdWJDaGlsZHJlbi5jaGlsZHJlbltjaGlsZF0ua2V5KyIn LCciK3N1YkNoaWxkcmVuLmNoaWxkcmVuW2NoaWxkXS5rZXlJZCsiJyk7IGNoYW5n ZVRvQ29sbGFwc2UodGhpcywnayIrc3ViQ2hpbGRyZW4uY2hpbGRyZW5bY2hpbGRd LmtleUlkKyInKVwiIC8+PC9hPiI7DQoJCQl9DQoJCX0NCgkJZWxzZXsNCgkJCWR5 bmFtaWMrPSI8aW1nIHNyYz1cIiIraW1hZ2VGb2xkZXIrInRyZWUtc2VwYXJhdG9y LmdpZlwiIGFsdD1cIlwiIC8+IjsNCgkJfQ0KCQkvL21ldGhvZGUgYXZlYyBldmFs IA0KCQkvL2R5bmFtaWMrPSBldmFsKGdlbmVyYXRlRnVuY3Rpb24rJygnK3N1YkNo aWxkcmVuLmNoaWxkcmVuW2NoaWxkXSsnKScpOw0KCQkvL21ldGhvZGUgYXZlYyBp Zg0KCQlpZihnZW5lcmF0ZUZ1bmN0aW9uLmluZGV4T2YoImZyb21Ccm93c2UiKT4g LTEgKXsNCgkJCWR5bmFtaWMrPWdlbmVyYXRlTGlGb3JCcm93c2Uoc3ViQ2hpbGRy ZW4uY2hpbGRyZW5bY2hpbGRdLCByZWZEYXRhSWQsIGlzRmlyc3RMZXZlbCk7DQoJ CX0NCgkJZWxzZSBpZihnZW5lcmF0ZUZ1bmN0aW9uLmluZGV4T2YoImZyb21TZWFy Y2giKT4gLTEpew0KCQkJZHluYW1pYys9Z2VuZXJhdGVMaUZvclNlYXJjaChzdWJD aGlsZHJlbi5jaGlsZHJlbltjaGlsZF0sIHJlZkRhdGFJZCwgaXNGaXJzdExldmVs KTsNCgkJfQ0KCQlkeW5hbWljKz0iPHNwYW4gaWQ9J2siK3N1YkNoaWxkcmVuLmNo aWxkcmVuW2NoaWxkXS5rZXlJZCsiJz4iOw0KCQkvL3JlY3VycmVuY3kgaWYgY2hp bGQgaGFzIGNoaWxkcmVuDQoJCWlmKHN1YkNoaWxkcmVuLmNoaWxkcmVuW2NoaWxk XS5jaGlsZHJlbiAhPSBudWxsICYmIHN1YkNoaWxkcmVuLmNoaWxkcmVuW2NoaWxk XS5jaGlsZHJlbi5sZW5ndGggPiAwKXsNCgkJCWR5bmFtaWMgKz0gZ2VuZXJhdGVD aGlsZHJlbihzdWJDaGlsZHJlbi5jaGlsZHJlbltjaGlsZF0sIHJlZkRhdGFJZCwg ZmFsc2UpOw0KCQl9DQoJCWR5bmFtaWMrPSI8L3NwYW4+PC9saT4iOw0KCX0NCglk eW5hbWljKz0iPC91bD4iOw0KCXJldHVybiBkeW5hbWljOw0KfQ0KLyoqDQogKiBU aGlzIGZ1bmN0aW9uIGdlbmVyYXRlIGFuIEFKQVggTGlzdA0KICovDQpmdW5jdGlv biBnZW5lcmF0ZUxpc3Qoc3ViQ2hpbGRyZW4sIHJlZkRhdGFJZCl7DQoJdmFyIGR5 bmFtaWM9IiI7DQoJLy8gb25lIGNvbHVtbiBsYXlvdXQNCglpZiAoc3ViQ2hpbGRy ZW4uY2hpbGRyZW4ubGVuZ3RoPD0xMCl7DQoJCWR5bmFtaWMrPSI8ZGl2IGNsYXNz PVwiY29sdW1uXCI+PHVsPiI7DQoJCWZvciAodmFyIGo9MCA7IGo8IHN1YkNoaWxk cmVuLmNoaWxkcmVuLmxlbmd0aDsgaisrKXsNCgkJCWR5bmFtaWMrPWdlbmVyYXRl TGlGb3JMaXN0KHN1YkNoaWxkcmVuLmNoaWxkcmVuW2pdLHRydWUsIHJlZkRhdGFJ ZCk7DQoJCX0NCgkJZHluYW1pYys9IjwvdWw+PC9kaXY+IjsNCgl9DQoJLy90d28g Y29sdW1ucyBsYXlvdXQNCgllbHNlew0KCQlkeW5hbWljKz0iPGRpdiBjbGFzcz1c ImNvbHVtbjFcIj48dWw+IjsNCgkJZm9yICh2YXIgaz0wIDsgazwgc3ViQ2hpbGRy ZW4uY2hpbGRyZW4ubGVuZ3RoLzI7IGsrKyl7DQoJCQlkeW5hbWljKz1nZW5lcmF0 ZUxpRm9yTGlzdChzdWJDaGlsZHJlbi5jaGlsZHJlbltrXSx0cnVlLHJlZkRhdGFJ ZCk7DQoJCX0NCgkJZHluYW1pYys9IjwvdWw+PC9kaXY+IjsNCgkJZHluYW1pYys9 IjxkaXYgY2xhc3M9XCJjb2x1bW4yXCI+PHVsPiI7DQoJCWZvciAoayA7IGs8IHN1 YkNoaWxkcmVuLmNoaWxkcmVuLmxlbmd0aDsgaysrKXsNCgkJCWR5bmFtaWMrPWdl bmVyYXRlTGlGb3JMaXN0KHN1YkNoaWxkcmVuLmNoaWxkcmVuW2tdLGZhbHNlLHJl ZkRhdGFJZCk7DQoJCX0NCgkJZHluYW1pYys9IjwvdWw+PC9kaXY+IjsNCgl9DQoJ cmV0dXJuIGR5bmFtaWM7DQp9DQovKioNCiAqIFRoaXMgZnVuY3Rpb24gZ2VuZXJh dGUgPGxpPiBlbGVtZW50IGZvciBhamF4IGxpc3QNCiAqLw0KZnVuY3Rpb24gZ2Vu ZXJhdGVMaUZvckxpc3Qoc3ViQ2hpbGRyZW4sIGxhYmVsT25MZWZ0LCByZWZEYXRh SWQpew0KCXZhciBkeW5hbWljPSIiOw0KCWxhYmVsT25MZWZ0ID0gZmFsc2U7DQoJ ZHluYW1pYys9IjxsaT4iOw0KCS8vbGFiZWwgYmVmb3JlIGNoZWNrYm94DQoJaWYo bGFiZWxPbkxlZnQpew0KCQlkeW5hbWljKz0iPGxhYmVsIGZvcj1cImNoa0lkIitz dWJDaGlsZHJlbi5rZXkrIlwiPiI7DQoJCWlmKGRpc3BsYXlLZXlNYXBbcmVmRGF0 YUlkXSl7DQoJCQlkeW5hbWljKz1zdWJDaGlsZHJlbi5rZXkrIiAtICI7DQoJCX0N CgkJZHluYW1pYys9c3ViQ2hpbGRyZW4uZGVzY3JpcHRpb24rIjwvbGFiZWw+ICI7 DQoJfQ0KCWR5bmFtaWMrPSI8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgY2xhc3M9 XCJjaGVja2JveFwiIG5hbWU9XCJjaGtcIiBpZD1cImNoa0lkIitzdWJDaGlsZHJl bi5rZXkrIlwiICI7DQoJaWYodXNlRGVzY3JpcHRpb25NYXBbcmVmRGF0YUlkXSl7 DQoJCWR5bmFtaWMrPSJ2YWx1ZT1cIiciK3N1YkNoaWxkcmVuLmRlc2NyaXB0aW9u KyInXCIiOw0KCX0NCgllbHNlew0KCQlkeW5hbWljKz0idmFsdWU9XCIiK3N1YkNo aWxkcmVuLmtleSsiXCIiOw0KCX0NCglkeW5hbWljKz0iIC8+IjsNCgkvL2xhYmVs IGFmdGVyIGNoZWNrYm94DQoJaWYoIWxhYmVsT25MZWZ0KXsNCgkJZHluYW1pYys9 IjxsYWJlbCBmb3I9XCJjaGtJZCIrc3ViQ2hpbGRyZW4ua2V5KyJcIj4iOw0KCQlp ZihkaXNwbGF5S2V5TWFwW3JlZkRhdGFJZF0pew0KCQkJZHluYW1pYys9c3ViQ2hp bGRyZW4ua2V5KyIgLSAiOw0KCQl9DQoJCWR5bmFtaWMrPXN1YkNoaWxkcmVuLmRl c2NyaXB0aW9uKyI8L2xhYmVsPiAiOw0KCX0NCglkeW5hbWljKz0iPC9saT4iOw0K CXJldHVybiBkeW5hbWljOw0KfQ0KLyoqDQogKiBUaGlzIGZ1bmN0aW9uIGdlbmVy YXRlIHRoZSBoZWFkZXIgcGFydCBvZiBkeW5hbWljIGNvbnRlbnQgd2hlbiB1c2Vy IGNsaWNrZWQgb24gYSAncGx1cycgaWNvbg0KICovDQpmdW5jdGlvbiBnZW5lcmF0 ZUhlYWRlcihpc0hpZXJhcmNoaWNhbCwgdGl0bGUsIHJlZkRhdGFJZCl7DQoJaWYo dGl0bGUgPT0gbnVsbCkgew0KCQl0aXRsZSA9ICIiOw0KCX0NCgl2YXIgaGVhZGVy ID0gIjxoMz4iK3RpdGxlKyI8L2gzPiI7DQoJaWYoaXNIaWVyYXJjaGljYWwpew0K CQloZWFkZXIrPSI8ZmllbGRzZXQgY2xhc3M9XCJmaWx0ZXJcIj48bGVnZW5kPiIr dHJhZEZpbHRlcisiPC9sZWdlbmQ+PGxhYmVsIGZvcj1cInRyZWVGaWx0ZXJcIj4i K3RyYWRGaWx0ZXIrIiA8L2xhYmVsPjxpbnB1dCB0eXBlPVwidGV4dFwiIG5hbWU9 XCJ0cmVlRmlsdGVyXCIgaWQ9XCJ0cmVlRmlsdGVyXCIgb25rZXlwcmVzcz1cImlm IChldmVudC5rZXlDb2RlID09IDEzKSB7IGZpbmROb2RlKCciK3JlZkRhdGFJZCsi Jyk7IHJldHVybiBmYWxzZTt9IFwiIC8+PGRpdiBjbGFzcz1cImJ1dHRvbkNvbnRh aW5lclwiPjxkaXYgY2xhc3M9XCJsZWZ0QnV0dG9uUGFydFwiPjxpbnB1dCB0eXBl PVwiYnV0dG9uXCIgbmFtZT1cImFjdGlvbl9maWx0ZXJcIiBjbGFzcz1cImJ1dHRv blwiIHZhbHVlPVwiIit0cmFkQXBwbHkrIlwiIG9uY2xpY2s9XCJmaW5kTm9kZSgn IityZWZEYXRhSWQrIicpXCIvPjwvZGl2PjwvZGl2PjwvZmllbGRzZXQ+IjsNCgl9 DQoJaGVhZGVyKz0iPGZpZWxkc2V0PjxsZWdlbmQ+Iit0cmFkVHJlZSsiPC9sZWdl bmQ+PGRpdiBjbGFzcz1cIm92ZXJmbG93XCIgaWQ9XCJvdmVyZmxvd1wiPiI7DQoJ cmV0dXJuIGhlYWRlcjsNCn0NCi8qKg0KICogVGhpcyBmdW5jdGlvbiBnZW5lcmF0 ZSA8bGk+IGVsZW1lbnQgZm9yIGFqYXggdHJlZQ0KICovDQpmdW5jdGlvbiBnZW5l cmF0ZUxpRm9yU2VhcmNoKHN1YkNoaWxkcmVuLCByZWZEYXRhSWQsIGlzRmlyc3RM ZXZlbCl7DQoJdmFyIGR5bmFtaWM9IiI7DQoJLy9pbXBsZW1lbnRhdGlvbiBmb3Ig c2VhcmNoIHBhZ2UNCgkvLyBDaGVja2JveCBpZiBtYXRjaD10cnVlIChmaWx0ZXIp IG9yIGlmIG1hdGNoPW51bGwgKGV4cGFuZCkNCglpZighKHN1YkNoaWxkcmVuLm1h dGNoICE9IG51bGwgJiYgIXN1YkNoaWxkcmVuLm1hdGNoKSl7DQoJCWR5bmFtaWMr PSI8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgY2xhc3M9XCJjaGVja2JveFwiIG5h bWU9XCJjaGtcIiBpZD1cImNoa0lkIitzdWJDaGlsZHJlbi5rZXkrIlwiIjsNCgkJ aWYodXNlRGVzY3JpcHRpb25NYXBbcmVmRGF0YUlkXSl7DQoJCQlkeW5hbWljKz0i dmFsdWU9XCInIitzdWJDaGlsZHJlbi5kZXNjcmlwdGlvbisiJ1wiIjsNCgkJfQ0K CQllbHNlew0KCQkJaWYocmVmRGF0YUlkPT0nQ1BWX0NPREUnICYmIGlzRmlyc3RM ZXZlbCl7DQoJCQkJZHluYW1pYys9InZhbHVlPVwiJyIrc3ViQ2hpbGRyZW4uZGVz Y3JpcHRpb24rIidcIiI7DQoJCQl9IGVsc2Ugew0KCQkJCWR5bmFtaWMrPSJ2YWx1 ZT1cIiIrc3ViQ2hpbGRyZW4ua2V5KyJcIiI7DQoJCQl9DQoJCX0NCgkJZHluYW1p Yys9IiAvPiI7DQoJfQ0KCWR5bmFtaWMrPSI8bGFiZWwgZm9yPVwiY2hrSWQiK3N1 YkNoaWxkcmVuLmtleSsiXCIgdGl0bGU9XCIiK3N1YkNoaWxkcmVuLmtleSsiXCI+ IjsNCgkvLyBLZXkNCglpZiAoaXNGaXJzdExldmVsKSB7DQoJCWlmIChkaXNwbGF5 Rmlyc3RMZXZlbEtleU1hcFtyZWZEYXRhSWRdICYmIGRpc3BsYXlLZXlNYXBbcmVm RGF0YUlkXSkgew0KCQkJZHluYW1pYys9c3ViQ2hpbGRyZW4ua2V5KyIgLSAiOw0K CQl9DQoJfSBlbHNlIGlmKGRpc3BsYXlLZXlNYXBbcmVmRGF0YUlkXSl7DQoJCWR5 bmFtaWMrPXN1YkNoaWxkcmVuLmtleSsiIC0gIjsNCgl9DQoJLy8gZGVzY3JpcHRp b24NCglkeW5hbWljKz1zdWJDaGlsZHJlbi5kZXNjcmlwdGlvbisiPC9sYWJlbD4i Ow0KCS8vIG9jY3VyZW5jZQ0KCWlmKHN1YkNoaWxkcmVuLmZvdW5kT2NjdXJlbmNl ICYmIHN1YkNoaWxkcmVuLnR5cGUuaW5kZXhPZignbGVhZicpIDwgMCl7DQoJCWR5 bmFtaWMrPSIgKCIrc3ViQ2hpbGRyZW4uZm91bmRPY2N1cmVuY2UrIikgIjsNCgl9 DQoJcmV0dXJuIGR5bmFtaWM7CQ0KfQ0KLyoqDQogKiBUaGlzIGZ1bmN0aW9uIGdl bmVyYXRlIDxsaT4gZWxlbWVudCBmb3IgYWpheCBsaXN0L3RyZWUgZm9yIGJyb3dz ZSBwYWdlcw0KICovDQpmdW5jdGlvbiBnZW5lcmF0ZUxpRm9yQnJvd3NlKHN1YkNo aWxkcmVuLCByZWZEYXRhSWQsIGlzRmlyc3RMZXZlbCl7DQoJdmFyIGR5bmFtaWM9 IiI7DQoJLy9pbXBsZW1lbnRhdGlvbiBmb3IgYnJvd3NlIHBhZ2UNCgkvLyBpZiBD T1VOVFJZID4gaW1wbGVtZW50IHVwZGF0ZSByaWdodCB0cmVlDQoJaWYocmVmRGF0 YUlkLmluZGV4T2YoJ0NPVU5UUlknKSA+IC0xICl7DQoJCWR5bmFtaWMrPSI8YSBp ZD0nbGluay1rIitzdWJDaGlsZHJlbi5rZXkrIicgb25jbGljaz0nc2hvd1NlbGVj dGVkKHRoaXMpO3VwZGF0ZVJpZ2h0VHJlZShcIiIrcmVmRGF0YUlkKyJcIixcIiIr c3ViQ2hpbGRyZW4ua2V5KyJcIiknIGhyZWY9J2phdmFzY3JpcHQ6OycgdGl0bGU9 JyIrc3ViQ2hpbGRyZW4ua2V5KyInPiI7DQoJfQ0KCS8vIGVsc2UgaW1wbGVtZW50 IGxpbmsgdG8gcmVzdWx0DQoJZWxzZXsNCgkJLy9keW5hbWljKz0iPGEgaHJlZj0n IityZWZEYXRhQWpheEJyb3dzZVNlcnZpY2VCYXNlVXJsKyJhY3Rpb249c2VsZWN0 RmFjZXQmcmVmRGF0YUlkPSIrZW5jb2RlVVJJQ29tcG9uZW50KHJlZkRhdGFJZCkr IiZrZXk9IitlbmNvZGVVUklDb21wb25lbnQoc3ViQ2hpbGRyZW4ua2V5KSsiJyB0 aXRsZT0nIitzdWJDaGlsZHJlbi5rZXkrIic+IjsNCgkJZHluYW1pYys9IjxhIGhy ZWY9XCJqYXZhc2NyaXB0OiRkbygnc2VsZWN0RmFjZXQnLCdyZWZEYXRhSWQ9Iitl bmNvZGVVUklDb21wb25lbnQocmVmRGF0YUlkKSsiJmtleT0iK2VuY29kZVVSSUNv bXBvbmVudChzdWJDaGlsZHJlbi5rZXkpKyInLHRydWUsZmFsc2UsJ19zZWxmJywn IityZWZEYXRhQWpheEJyb3dzZVNlcnZpY2VCYXNlVXJsKyInKTtcIiB0aXRsZT1c IlNlYXJjaCByZXN1bHRcIj4iOw0KCX0NCgkvKmlmKGRpc3BsYXlLZXlNYXBbcmVm RGF0YUlkXSl7DQoJCWR5bmFtaWMrPXN1YkNoaWxkcmVuLmtleSsiIC0gIjsNCgl9 Ki8NCgkvLyBLZXkNCglpZiAoaXNGaXJzdExldmVsKSB7DQoJCWlmIChkaXNwbGF5 Rmlyc3RMZXZlbEtleU1hcFtyZWZEYXRhSWRdICYmIGRpc3BsYXlLZXlNYXBbcmVm RGF0YUlkXSkgew0KCQkJZHluYW1pYys9c3ViQ2hpbGRyZW4ua2V5KyIgLSAiOw0K CQl9DQoJfSBlbHNlIGlmKGRpc3BsYXlLZXlNYXBbcmVmRGF0YUlkXSl7DQoJCWR5 bmFtaWMrPXN1YkNoaWxkcmVuLmtleSsiIC0gIjsNCgl9DQoJLy8gZGVzY3JpdGlv bg0KCWR5bmFtaWMrPXN1YkNoaWxkcmVuLmRlc2NyaXB0aW9uKyIiOw0KCS8vIG9j Y3VyZW5jZQ0KCWlmKHN1YkNoaWxkcmVuLmZvdW5kRG9jdW1lbnQpew0KCQlkeW5h bWljKz0iICgiK3N1YkNoaWxkcmVuLmZvdW5kRG9jdW1lbnQrIikgIjsNCgl9DQoJ ZHluYW1pYys9IjwvYT4iOw0KCXJldHVybiBkeW5hbWljOw0KfQ0KLyoqDQogKiBU aGlzIGZ1bmN0aW9uIGNoYW5nZSB0aGUgb25jbGljayBmdW5jdGlvbiBmb3IgZXhw YW5kL2NvbGxhcHNlIGljb24gaW4gYWpheCB0cmVlcw0KICovDQpmdW5jdGlvbiBj aGFuZ2VUb0NvbGxhcHNlKGVsLGtleUlkKXsNCgllbC5vbmNsaWNrID0gZnVuY3Rp b24gb25jbGljayhldmVudCkgeyANCgkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo a2V5SWQpLnN0eWxlLmRpc3BsYXk9J25vbmUnOw0KCQljaGFuZ2VUb0V4cGFuZCh0 aGlzLGtleUlkKTsgfSA7DQoJZWwuc3JjPWltYWdlRm9sZGVyKyJtaW51cy5naWYi Ow0KCWVsLmFsdD10cmFkQ29sbGFwc2U7DQp9DQovKioNCiAqIFRoaXMgZnVuY3Rp b24gY2hhbmdlIHRoZSBvbmNsaWNrIGZ1bmN0aW9uIGZvciBleHBhbmQvY29sbGFw c2UgaWNvbiBpbiBhamF4IHRyZWVzDQogKi8NCmZ1bmN0aW9uIGNoYW5nZVRvRXhw YW5kKGVsLGtleUlkKXsNCgllbC5vbmNsaWNrID0gZnVuY3Rpb24gb25jbGljayhl dmVudCkgeyANCgkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoa2V5SWQpLnN0eWxl LmRpc3BsYXk9J2Jsb2NrJzsJDQoJCWNoYW5nZVRvQ29sbGFwc2UodGhpcyxrZXlJ ZCk7IH0gOw0KCWVsLnNyYz1pbWFnZUZvbGRlcisicGx1cy5naWYiOw0KCWVsLmFs dD10cmFkRXhwYW5kOw0KfQ0KLyoqDQogKiBUaGlzIGZ1bmN0aW9uIGZpbGwgZm9y bSBpbnB1dHMgd2l0aCBjaGVja2VkIGNoZWNrYm94IGZyb20gdHJlZS9saXN0DQog Ki8NCmZ1bmN0aW9uIGZpbGxJbnB1dCgpew0KCXZhciBjaGVja0JveCA9IGRvY3Vt ZW50LmdldEVsZW1lbnRzQnlOYW1lKCJjaGsiKTsNCgl2YXIgc3RyPSIiOw0KCWZv ciAodmFyIGk9MDsgaTwgY2hlY2tCb3gubGVuZ3RoOyBpKyspew0KCQlpZiAoY2hl Y2tCb3hbaV0uY2hlY2tlZCl7DQoJCQlzdHIrPSBjaGVja0JveFtpXS52YWx1ZSsi LCI7DQoJCX0NCgl9DQoJc3RyID0gc3RyLnNsaWNlKDAsIC0xKTsNCglkb2N1bWVu dC5nZXRFbGVtZW50QnlJZChvcmlnaW5hbElucHV0SWQpLnZhbHVlPXN0cjsNCglk b2N1bWVudC5nZXRFbGVtZW50QnlJZChvcmlnaW5hbElucHV0SWQpLnRpdGxlPXN0 cjsNCgloaWRlRGl2KCdqc0NvbnRhaW5lcicpOw0KfQ0KDQpmdW5jdGlvbiBzaG93 U2VsZWN0ZWQoZWwpew0KCXJlc2V0U2VsZWN0ZWQoKTsNCgllbC5zdHlsZS5jb2xv cj0iI0ZGMjIyMiI7CQ0KfQ0KZnVuY3Rpb24gcmVzZXRTZWxlY3RlZCgpew0KCXZh ciBkeW5MaW5rcyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdhJyk7 DQoJZm9yICh2YXIgaT0wOyBpPGR5bkxpbmtzLmxlbmd0aDsgaSsrKXsNCgkJaWYo ZHluTGlua3NbaV0uaWQuaW5kZXhPZignbGluay1rJykgPiAtMSl7DQoJCQlkeW5M aW5rc1tpXS5zdHlsZS5jb2xvcj0iIjsNCgkJfQkNCgl9DQp9DQoNCmZ1bmN0aW9u IHJvbGxPdmVyKGVsKSB7DQoJZWwuZmlyc3RDaGlsZC5zcmM9aW1hZ2VGb2xkZXIr J2V1cm9wYV9sb2dvX2hvdmVyLnBuZyc7DQp9DQoNCmZ1bmN0aW9uIHJvbGxPdXQo ZWwpIHsNCgllbC5maXJzdENoaWxkLnNyYz1pbWFnZUZvbGRlcisnZXVyb3BhX2xv Z28ucG5nJzsNCn0= ------------d0hdjcToXFM5UQDnZDpxrW Content-Disposition: inline; filename=logo.png Content-Type: image/png; name=logo.png Content-Location: http://ted.europa.eu/static/images/logo.png Content-Transfer-Encoding: Base64 iVBORw0KGgoAAAANSUhEUgAAAp4AAABCCAMAAADJyybcAAAAAXNSR0IArs4c6QAA AARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAA OpgAABdwnLpRPAAAAwBQTFRFL098P1lyX2xfT2Jpb3VWf39MDzyPADOZH0aFcH6Q M5kALop9QJ8QTaYgUaglWawwWq0xZLE9ZrNAc7lQcoCRcoCSdIKTdYOUd4SVd4WW eYWXeYaXeoeYfYqaZpnMn5I5r5wvv6Umj4lCgL9ggcBhicRsisVtjcZwlMl5mcx/ z68c37gT78IJ/8wAgIycgo6eg4+fiZWki5aljJemj5qolJ6slZ+tlqCtmKKvmqOw mqSxnaazn6i1oKq1oaq2oqu3o6y4pq+6qbG8rLS/r7fBsrrDs7vEtbzGuL/Iq77h mcyAlsS+ptOQp9ORs9mgut2pu8LKwN+wxOG1wcfPxcvSx8zTx83Uys/WztLZ0NXb 0tfc09fd1Njd1dne19vg2Nzh2d3i2t7i29/j3N/kzebAzebBz+fC0ejF0ujG1OnJ 1erL1+vN2OvP2OzP2ezQ2u3R3e7V3ODk3eDl3+Lm4fDZ4/Hb4/Hc5PHd5PLd5fLe 4OPn4eTo4uXp4+bp4+bq5Ofq5efr5ejr5uns5+rt6Ort6evu6uzu6uzv6+3w7O7w 7O7x7u/y5vPg6PPi6vTk6vTl7Pbo7fbp7vbq7/fr7vDy7/Hz8Pjt8fju8vjv8PHz 8PL08vP18/T18/T29PX29PX39fb39vb48/nw9Pnx9fry9frz9vv09/v19/j5+Pv2 +Pz3+Pj5+Pn6+fr6+fr7+vv8+fz4+vz5+/36+/37+/z8/P37/P77/Pz8/Pz9/f3+ /P78/f79/v7+/v7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAPaeoowAAABh0RVh0U29mdHdhcmUAUGFpbnQuTkVU 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 R37YAAAAAElFTkSuQmCC ------------d0hdjcToXFM5UQDnZDpxrW Content-Disposition: inline; filename=qsearch-go-button.gif Content-Type: image/gif; name=qsearch-go-button.gif Content-Location: http://ted.europa.eu/static/images/qsearch-go-button.gif Content-Transfer-Encoding: Base64 R0lGODlhFAATALMAAEiiHbrcqa7WmoXDZni7VmWxPzSVB9/r3vj6+uXy4PX2+Ov1 5czlv/D37dbqzTOZACH5BAAAAAAALAAAAAAUABMAAAR08MlJq2XMaXdOSsvSjI2C SNjGeaA4Kiaabd0XkuX5pDR7k7HdTBMABFq4II8oIfxKyqFDMAEwkrqlI1B9DIBZ KVUCKDwEr7CK+zAAvK+oavywYmXr5sGVxm+oAkhgfho1glBqPTZ8OYQri3dCKoZP jRaXlxEAOw== ------------d0hdjcToXFM5UQDnZDpxrW Content-Disposition: inline; filename=printer.gif Content-Type: image/gif; name=printer.gif Content-Location: http://ted.europa.eu/static/images/printer.gif Content-Transfer-Encoding: Base64 R0lGODlhEAAPANUAAJSUlMzMzK2trcbGxqenp9jY2JiYmNbW1paWlnp6etTU1NDQ 0M7OzsjIyKCgoMTExJ6enr29vbS0tH9/f7Kysq+vr+7u7oGBgZycnJqamtvb23h4 eJKSksrKympqamdnZ4ODg2hoaGxsbPX19WVlZaioqNLS0vf39/Dw8MDAwJGRkX19 ffLy8r+/v6qqqvPz86mpqfr6+vn5+cLCwsPDw/z8/N3d3aOjo3d3d+vr67u7u6Sk pLe3t6urq3x8fP///yH5BAAAAAAALAAAAAAQAA8AAAatwJ9QIOgZYaUSgSBs/gS/ Wkx2Gr1+O+cv1vtRRyMW6nfTply/6kts+TkkzlbpF0ZZLDk3pSmKMLVCEBUhPyIa IBeJFxOMEys+PgMfIgUFBwomCwwBAQ0DAw8zk5eZC5wdngk0CSkfHjw8EhIUFBVE PS5IBCQeDr4OEBgYGQbFCAAAvA6OkD4Jzwkb0sk/HiueAzQzKS0RETo4JE0YNhqV pAumKk7ExsjIHCrrP0EAOw== ------------d0hdjcToXFM5UQDnZDpxrW Content-Disposition: inline; filename=pdficon.gif Content-Type: image/gif; name=pdficon.gif Content-Location: http://ted.europa.eu/static/images/pdficon.gif Content-Transfer-Encoding: Base64 R0lGODlhDgAQANUAAMrKyuihoez29+v4+K6uru7t7ZV+fuOWifilmPLg3Pj9/eeX lfHy8viJd+fn5+xuWuvY1fa1rfgXAuwBAfH29ry8u/RTOuhcRv39/bGxsezKwvJB Qfb+/vX4+PJdXfn5+ff399/f3+2BbuUCAqyZmfGBbu05ILy5svZLMfzs6eimpvCa jPry8JeIfub29/M5H/MxMe6JePD9/vJiYuxYQfvGvfhDKPLo5u2pqfv7+/z+/tXV 1b29vfz8/P7+/v///yH5BAAAAAAALAAAAAAOABAAAAatQMBuSBwCHL8kz4dp6lKs D4jHUPp6WJ2lxHH4eIXfEtvT2R6KkINBcIyzDZGO4QgxMsucXocwdXQgDD14Pno5 Og00JTo6PT6EHx8KKQ8UKAg1LI8VPiAgHAg0KyIvJhCbPh0gERYHEDIJGgwYBBU6 NzEXBzIUBQy9H7UKGrouA8fIHLURAQsBOCoqAdLPBCcSI9kzHhse2SMTJNcT5DAw Gxvk5CQhLQbv8PEGO0EAOw== ------------d0hdjcToXFM5UQDnZDpxrW--