NEMJ5HXEX73KFHXTZ32GIKDXK6M3YOB3QHLZ3EEXF5JWKLVE7RMAC [{:dependencies {org.clojure/clojure {:vsn "1.11.1", :native-prefix nil}, org.clojure/spec.alpha {:vsn "0.3.218", :native-prefix nil}, org.clojure/core.specs.alpha {:vsn "0.2.62", :native-prefix nil}, nrepl {:vsn "1.0.0", :native-prefix nil}, org.nrepl/incomplete {:vsn "0.1.0", :native-prefix nil}}, :native-path "target/native"} {:native-path "target/native", :dependencies {org.clojure/clojure {:vsn "1.11.1", :native-prefix nil, :native? false}, org.clojure/spec.alpha {:vsn "0.3.218", :native-prefix nil, :native? false}, org.clojure/core.specs.alpha {:vsn "0.2.62", :native-prefix nil, :native? false}, nrepl {:vsn "1.0.0", :native-prefix nil, :native? false}, org.nrepl/incomplete {:vsn "0.1.0", :native-prefix nil, :native? false}}}]
artifactId=day-1groupId=day-1version=0.1.0-SNAPSHOT
(ns day-1.core(:require [clojure.java.io :as io])(:require [clojure.string :as str])(:use [clojure.test :only [is]])(:gen-class))(def test-set "3 44 32 51 33 93 3")(defn collect-index([values idx](map #(get % idx) values))([values idx parse](map #(parse (get % idx)) values)))(defn collect-index-ints [values idx] (collect-index values idx #(Integer/parseInt %)))(defn solve-first [data](let [columns (map #(str/split (str/triml %) #"\s+") (str/split-lines data))](apply + (map #(abs (- %1 %2))(sort (collect-index-ints columns 0))(sort (collect-index-ints columns 1))))))(defn solve-second [data](let [columns (map #(str/split (str/triml %) #"\s+") (str/split-lines data))](apply + (map #(* %1 (get (frequencies (collect-index-ints columns 1)) %1 0))(collect-index-ints columns 0)))))(defn -main[& args](let [data-set (slurp "data/day1.txt")](println "(1) Test set...")(println (solve-first test-set))(println "(1) Large set...")(println (solve-first data-set))(println "(2) Test set...")(println (solve-second test-set))(println "(2) Large set...")(println (solve-second data-set))))
(defproject day-1 "0.1.0-SNAPSHOT":description "FIXME: write description":url "http://example.com/FIXME":license {:name "EPL-2.0 OR GPL-2.0-or-later WITH Classpath-exception-2.0":url "https://www.eclipse.org/legal/epl-2.0/"}:dependencies [[org.clojure/clojure "1.11.1"]]:main ^:skip-aot day-1.core:target-path "target/%s":profiles {:uberjar {:aot :all:jvm-opts ["-Dclojure.compiler.direct-linking=true"]}})
69214 6095083241 4963837930 3130850722 9491493164 8279880918 7285017490 7942164372 8782089659 9837591555 9581248924 9360238031 6409657853 2053088521 4321468331 1477032767 1957495030 9257980448 1087027268 8638418742 6592650258 9519388830 1735273007 8279895145 4240358976 1735222476 6837921785 1781121560 9082782909 3752755371 6977873607 3240488276 4496586274 4609961163 6344552231 2704684647 2053037515 5729844394 9900358258 7495456060 3410579808 7381496748 5131887301 4602293991 4464245674 9696910870 4915913175 2384012881 8670411425 8906471044 9254370247 8836997814 7331778003 4416045779 1459895915 4687551055 9900314500 1957440956 2384064791 9973595406 5131818800 7287885004 3323816723 3150414333 6939840419 1087081499 7913631696 2427671897 5542163928 4687546875 3319840086 7695967622 2955063819 8836974694 3576963615 2020088828 5841458917 2041486066 2469684677 4781487339 8961630182 3600771811 6376226364 1892745435 5402665473 8306240764 1279586131 1957446984 7153294658 3666634864 8517274271 8517237126 6338126701 9160811846 9900391698 4439419986 1735231279 8225225542 1087043023 9886925001 2520839137 4475875796 9443693491 4201516837 6989578167 5948656738 1781166303 4957591100 3398799100 4155446126 4147231826 2053061208 2020098875 4977689960 2384087445 8836990701 5960548604 2476649830 6058132422 3240448321 4933891545 5131830591 2384076791 2536647653 6430070447 1087096337 1087040822 9900350985 3666645600 5852078539 2102111792 3977089999 2384022229 2425279514 3141493645 9987439916 1256763722 8730185209 1284578460 9443679669 3342089396 3676212518 9107270992 2053092482 5131850977 3980959666 9360269358 2488930774 8520950495 8811774843 6813564043 9360242690 1459895474 9900331999 1087077935 3038186471 4602282671 2384021996 1735225301 6895045903 4920988433 1518618897 1334923742 3800629440 4439477679 1953467503 1900622862 8752368125 3675232102 8520957298 3244444985 1087076984 8836996974 4464822496 1735219906 8836953085 6948149762 3932023508 1334973366 1957439420 8517221487 2020049538 3127958985 3374778834 8630483207 7746026624 3932033276 8713062119 1541072488 7285069108 4602228383 6412545283 6095056242 8858047120 4602220917 1284591088 6795930625 9257981302 9811714883 2256845215 4681836185 7287347369 1966139320 4865835775 6095020573 6675892168 4687585925 2357083017 2894188673 6235285790 4602240389 1781113925 1459865265 9881921058 7006081605 3640149669 6310758410 6095020993 3240489320 3660693679 8990824396 6672426960 8288735749 9850767814 6095095966 9977745832 9028121396 6906770924 7717451921 3127986430 4155460703 7673355109 8603264568 3498461181 3932076019 8053093405 3571840732 7331027676 5630246615 1264494412 3265942651 4687522911 8836937891 6140139505 1957430551 9938152001 9900394890 7723612845 1087060037 9973517811 9348039461 5256370835 9900326239 3240421199 5341329427 6186599745 5257858368 8517232844 1781125356 6134155087 3912473711 9415323878 1519319011 1582155522 7689525442 8517243553 2384079059 5131845546 8517218253 4687513486 9833385621 7864094812 1459835976 2285195446 3581168679 8654035048 3240432404 5836754639 8221846890 9973554797 6414058043 2867838310 7810296824 1957482010 9028144558 8856025947 5541039754 9028185172 7781638409 7285093847 7970570670 3186666466 7285014378 8517210594 8279888488 3649480919 9028115539 6076476757 2053073014 8085410103 2877763011 5131897931 7285011511 2351190999 4677810581 1735224639 8434412573 8730194628 7345468709 6095069611 3666677840 3240456046 4345264975 3666635086 2704621044 6333927003 3240499990 4155492558 7638410676 5131879869 3492941478 2384040010 1781157724 1334936886 2053052799 3965874618 2889037677 3960225056 1978037249 6095016420 2153392579 9181432467 7601850446 4064520800 2704625367 9360220200 5042967153 8242199387 8517299003 9900321079 6867821496 4519610244 8517260317 9696789792 6441666971 2876048409 4920987836 1303694588 2504919574 8016343975 9028154578 2287024412 1735266935 8520975103 4674899675 1331863283 8657038622 1781176156 1255418868 3127995097 2873187940 2530731588 2068386721 5167940662 6066561441 4687595742 9642812500 4866369704 8372252150 5213094648 7106434905 7285090241 8154122820 8891784893 8279835291 1334991607 6967491250 8918612934 7620550355 1087011918 9356111981 8750490011 9779219160 9900338536 9521947433 7225471173 2024158871 4959299297 4687514256 3666642700 9257965952 2645338344 1735231939 6667588319 3127948532 6905554160 3736451367 9823463774 6794891398 5276019606 9863915722 2704611670 2704611752 9028157229 2476692900 8206935472 1735211762 1046452327 5131849806 2425283152 2704666672 1107013349 2053010860 6752034902 7464136500 1420890699 2476665392 6805667360 2384020770 1284527579 1781152424 2053088044 7056282234 3240438116 2384071095 6088435234 1087074397 3693759605 7937733516 8279883961 1781117934 8196558619 6095024784 4618360415 3240433999 6235670899 4255071992 6156531607 4816882993 2770598377 7244719236 9739069248 9754312305 3932012750 7285067143 4730251085 1371321283 8458658438 2053061450 8496077223 8730140730 1864861388 9262010697 9505129817 4602244526 8517242126 2397091131 2476653762 2348599711 2476641168 1284589661 9767919509 8730146491 8730182876 9028157530 9900330070 1284537182 3346798660 9404153088 4920923056 3366259488 8836927659 7604385486 4687533558 8730164995 5441858406 2053052353 1284552674 8479297158 4155436966 6590396617 1504917881 2339338135 2765535640 1087075976 7846854361 8517270827 7473323840 1618093190 5131875051 1819664409 8517220040 4816592938 9782643465 5160911298 7852699421 9290321674 6244468613 1735240038 6877990984 4920972223 9973599618 8490396274 3740954840 8553377678 9637979087 3303627866 2384094127 8736683829 4673121118 2704654767 5844431592 3932084251 8034016359 4798033404 8669230167 5372054633 5729864214 8517265936 9443626779 7225756981 1699588384 1459816954 1284519265 3487720882 1087024268 3719373896 7310717491 6478834135 9647897863 2053033458 4155487234 1334917021 4395043735 4602241413 5131823370 2751840859 5265920847 5564378780 4687589412 4465944732 8594215416 4155420026 1357320447 2053092208 2704622919 4788319025 6671678537 9443621990 1383557022 4757823379 2704610223 4035270096 9900327889 8688473766 5007717352 5973718766 5313285353 8279816699 7675618043 8046467635 3240489066 3240496095 3666680193 1735283111 2456782714 5131815568 6269946071 8836924766 1739324252 5131890799 6504345593 4254842434 8836976708 1978844049 1735226070 2384089487 6095075405 5040961151 5094955659 8797697690 1076923955 4155451413 4439493303 7462388340 4687536666 8611968983 3666697452 1810077775 2828893498 8517535180 7378888369 4028960950 8929080469 9973544830 2609456953 1284514598 3240448010 4325451318 1611970157 5960529536 2704697148 2476688940 9900394267 1284580689 8279851360 6337322949 8517261037 8730112068 6529429715 8520990504 2864831564 8881233933 8299529523 7232077893 8086555688 7888724079 2476613322 3209589943 4833429072 5870453586 1284523918 1459856128 8854866658 6962610133 6784599815 8517268216 9900346022 1539583063 2123262075 2384053883 1459866467 3240447896 6994471785 5131884153 1600629778 8520931766 2476616108 3531845369 9443640723 8848565628 3127922238 4533291501 9257917080 8334327106 1781152006 1351710554 9684342902 5485578074 5911276079 1957466574 3784230704 8730161970 7259175806 8941565083 3666644142 8836989309 1839814755 2425231582 1039771879 1284550300 1957455843 6283770241 6765613864 1284556863 3666628825 1957493845 2289720530 1781144137 1334947611 4920976632 7106196396 8500321784 2882810465 2847376247 1284590281 6229568036 8538398495 4933166489 1735273992 8998927262 2476646644 8836927046 5871568306 3240456759 8461159597 9900335807 1141281247 6645628886 9497093602 7487528876 5050183548 9850142548 7492717737 6099739564 9523438730 3932015305 6297764475 2057088203 2704649209 4687558403 9422333211 7962112588 8068738930 1732257720 8730170408 2958535638 2384097473 1957479297 1087082229 2704686569 1735225113 7829516476 2479175345 9443615696 1284524138 4990582572 2704688539 3932059729 8730120283 3933131336 2120593878 3169269846 7285054419 9100682798 8425549394 4081869345 5298739250 6095026399 8753832384 1915997484 4314363090 3220876597 2384014020 3240462045 7549718689 3240452623 3127952491 9868387906 8517282114 9900326961 7011217367 4602298279 8836971505 2593719537 2537521670 2845156125 1957460764 4687577962 1781191463 5406947556 5902983067 8730155521 8040451846 5259434746 1095241554 9163187263 5996522625 4254844644 8037766676 3121210499 1132170675 9900340581 5173287994 3996194436 4687597737 6266679484 4164453333 4155442911 1957437210 9678812286 9346986302 7883589841 9037879773 4545591417 1981161800 3805323495 9531031663 1265226644 8836946904 9734526299 3240481023 7285020782 9443648451 8517242895 8314353844 4687549912 1781186234 5374798733 8517290395 5131887860 3666662319 3666681832 8702896801 4878534060 9491519206 4602261175 7430038749 6198235243 8964294052 2283868544 2384038895 3127913279 4920947468 4682694318 8730171918 1781186789 4155483931 7145271126 8836916125 5586739086 9521316328 1284571229 2053079671 6700191145 2384053528 4895523966 3986736677 7701977291 2053032335 9320194998 1758616372 4118199014 8072761040 9905593576 8271892791 6173579499 8096771009 1284516657 2053075219 4182449208 8730165336 9443639833 6772539788 2245015097 9672213674 8256235721 6920646963 1781190463 2476678488 4155478916 6072759443 9028143680 1334936601 6095041176 9427143717 8080437766 2053082109 8836917559 3294728284 4920922341 8836931223 6008239647 8258064525 1334929368 1284598386 2893264817 7782946178 3936595082 9257970089 8186172539 5135011579 4254863864 7711413611 8730171054 8412449549 5647498626 7658621372 8783242043 3240451898 8836929323 2243364305 3052070362 1826726501 7319110172 4155419438 3666617316 2020013127 5131811331 2384037354 2277334872 2024948467 8520936745 1087097478 8836929324 1024624179 6388824371 3932061932 4522055020 1032064150 3616068372 5264410714 6402768990 5776872825 4081185765 7788032558 2020078846 9393671711 8517290337 9443632298 7680886944 3843036174 2910853613 7216579549 4312943539 4417061122 8836930084 5699249969 3932038272 8670811594 3042969508 7029321588 6876697316 7657597425 4152062763 3125463345 2384043015 9360252670 8279858251 4825533771 2053012901 2549642101 4155443970 6765890983 8836933538 9351489043 2638065451 8279873769 2898178129 7022484083 7857272978 2861081230 4791497477 7591696888 4254824917 3932097486 7817313312 5131827167 9360276762 2060072850 4759424623 5871899735 8730192737 3967033120 5960563398 2020038385 9829981987 5396962260 5131867235 6371385100 4204727762 9028113906 5131885558 3666642148 1284588468 2020092033 3240439309 3240499521 9939180929 1735228236 4687583442 2053050329 1087075224 4719771764 9900322012 8221989620 2888160052 8837998379 4469447207 9443647361 4076296159 1735261549 8476036863 8077328638 9028128879 2476624022 5546025334 1087025095 4687514190 6328566088 7099336470 5000847970 8730135396 1781124123 4703726462 5229949162 1284588098 8730153920 5986284177 1087018969 3666655280 1134014058 6814513245 1459823434 4662256966 7882977060 7196725997 5779641947 8234852576 1284591921 51318
# Advent Of CodeClojure solutions to [Advent Of Code](https://adventofcode.com/)
Eclipse Public License - v 2.0THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSEPUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTIONOF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.1. DEFINITIONS"Contribution" means:a) in the case of the initial Contributor, the initial contentDistributed under this Agreement, andb) in the case of each subsequent Contributor:i) changes to the Program, andii) additions to the Program;where such changes and/or additions to the Program originate fromand are Distributed by that particular Contributor. A Contribution"originates" from a Contributor if it was added to the Program bysuch Contributor itself or anyone acting on such Contributor's behalf.Contributions do not include changes or additions to the Program thatare not Modified Works."Contributor" means any person or entity that Distributes the Program."Licensed Patents" mean patent claims licensable by a Contributor whichare necessarily infringed by the use or sale of its Contribution aloneor when combined with the Program."Program" means the Contributions Distributed in accordance with thisAgreement."Recipient" means anyone who receives the Program under this Agreementor any Secondary License (as applicable), including Contributors."Derivative Works" shall mean any work, whether in Source Code or otherform, that is based on (or derived from) the Program and for which theeditorial revisions, annotations, elaborations, or other modificationsrepresent, as a whole, an original work of authorship."Modified Works" shall mean any work in Source Code or other form thatresults from an addition to, deletion from, or modification of thecontents of the Program, including, for purposes of clarity any new filein Source Code form that contains any contents of the Program. ModifiedWorks shall not include works that contain only declarations,interfaces, types, classes, structures, or files of the Program solelyin each case in order to link to, bind by name, or subclass the Programor Modified Works thereof."Distribute" means the acts of a) distributing or b) making availablein any manner that enables the transfer of a copy."Source Code" means the form of a Program preferred for makingmodifications, including but not limited to software source code,documentation source, and configuration files."Secondary License" means either the GNU General Public License,Version 2.0, or any later versions of that license, including anyexceptions or additional permissions as identified by the initialContributor.2. GRANT OF RIGHTSa) Subject to the terms of this Agreement, each Contributor herebygrants Recipient a non-exclusive, worldwide, royalty-free copyrightlicense to reproduce, prepare Derivative Works of, publicly display,publicly perform, Distribute and sublicense the Contribution of suchContributor, if any, and such Derivative Works.b) Subject to the terms of this Agreement, each Contributor herebygrants Recipient a non-exclusive, worldwide, royalty-free patentlicense under Licensed Patents to make, use, sell, offer to sell,import and otherwise transfer the Contribution of such Contributor,if any, in Source Code or other form. This patent license shallapply to the combination of the Contribution and the Program if, atthe time the Contribution is added by the Contributor, such additionof the Contribution causes such combination to be covered by theLicensed Patents. The patent license shall not apply to any othercombinations which include the Contribution. No hardware per se islicensed hereunder.c) Recipient understands that although each Contributor grants thelicenses to its Contributions set forth herein, no assurances areprovided by any Contributor that the Program does not infringe thepatent or other intellectual property rights of any other entity.Each Contributor disclaims any liability to Recipient for claimsbrought by any other entity based on infringement of intellectualproperty rights or otherwise. As a condition to exercising therights and licenses granted hereunder, each Recipient herebyassumes sole responsibility to secure any other intellectualproperty rights needed, if any. For example, if a third partypatent license is required to allow Recipient to Distribute theProgram, it is Recipient's responsibility to acquire that licensebefore distributing the Program.d) Each Contributor represents that to its knowledge it hassufficient copyright rights in its Contribution, if any, to grantthe copyright license set forth in this Agreement.e) Notwithstanding the terms of any Secondary License, noContributor makes additional grants to any Recipient (other thanthose set forth in this Agreement) as a result of such Recipient'sreceipt of the Program under the terms of a Secondary License(if permitted under the terms of Section 3).3. REQUIREMENTS3.1 If a Contributor Distributes the Program in any form, then:a) the Program must also be made available as Source Code, inaccordance with section 3.2, and the Contributor must accompanythe Program with a statement that the Source Code for the Programis available under this Agreement, and informs Recipients how toobtain it in a reasonable manner on or through a medium customarilyused for software exchange; andb) the Contributor may Distribute the Program under a licensedifferent than this Agreement, provided that such license:i) effectively disclaims on behalf of all other Contributors allwarranties and conditions, express and implied, includingwarranties or conditions of title and non-infringement, andimplied warranties or conditions of merchantability and fitnessfor a particular purpose;ii) effectively excludes on behalf of all other Contributors allliability for damages, including direct, indirect, special,incidental and consequential damages, such as lost profits;iii) does not attempt to limit or alter the recipients' rightsin the Source Code under section 3.2; andiv) requires any subsequent distribution of the Program by anyparty to be under a license that satisfies the requirementsof this section 3.3.2 When the Program is Distributed as Source Code:a) it must be made available under this Agreement, or if theProgram (i) is combined with other material in a separate file orfiles made available under a Secondary License, and (ii) the initialContributor attached to the Source Code the notice described inExhibit A of this Agreement, then the Program may be made availableunder the terms of such Secondary Licenses, andb) a copy of this Agreement must be included with each copy ofthe Program.3.3 Contributors may not remove or alter any copyright, patent,trademark, attribution notices, disclaimers of warranty, or limitationsof liability ("notices") contained within the Program from any copy ofthe Program which they Distribute, provided that Contributors may addtheir own appropriate notices.4. COMMERCIAL DISTRIBUTIONCommercial distributors of software may accept certain responsibilitieswith respect to end users, business partners and the like. While thislicense is intended to facilitate the commercial use of the Program,the Contributor who includes the Program in a commercial productoffering should do so in a manner which does not create potentialliability for other Contributors. Therefore, if a Contributor includesthe Program in a commercial product offering, such Contributor("Commercial Contributor") hereby agrees to defend and indemnify everyother Contributor ("Indemnified Contributor") against any losses,damages and costs (collectively "Losses") arising from claims, lawsuitsand other legal actions brought by a third party against the IndemnifiedContributor to the extent caused by the acts or omissions of suchCommercial Contributor in connection with its distribution of the Programin a commercial product offering. The obligations in this section do notapply to any claims or Losses relating to any actual or allegedintellectual property infringement. In order to qualify, an IndemnifiedContributor must: a) promptly notify the Commercial Contributor inwriting of such claim, and b) allow the Commercial Contributor to control,and cooperate with the Commercial Contributor in, the defense and anyrelated settlement negotiations. The Indemnified Contributor mayparticipate in any such claim at its own expense.For example, a Contributor might include the Program in a commercialproduct offering, Product X. That Contributor is then a CommercialContributor. If that Commercial Contributor then makes performanceclaims, or offers warranties related to Product X, those performanceclaims and warranties are such Commercial Contributor's responsibilityalone. Under this section, the Commercial Contributor would have todefend claims against the other Contributors related to those performanceclaims and warranties, and if a court requires any other Contributor topay any damages as a result, the Commercial Contributor must paythose damages.5. NO WARRANTYEXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENTPERMITTED BY APPLICABLE LAW, THE PROGRAM IS PROVIDED ON AN "AS IS"BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS ORIMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OFTITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULARPURPOSE. Each Recipient is solely responsible for determining theappropriateness of using and distributing the Program and assumes allrisks associated with its exercise of rights under this Agreement,including but not limited to the risks and costs of program errors,compliance with applicable laws, damage to or loss of data, programsor equipment, and unavailability or interruption of operations.6. DISCLAIMER OF LIABILITYEXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENTPERMITTED BY APPLICABLE LAW, NEITHER RECIPIENT NOR ANY CONTRIBUTORSSHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOSTPROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER INCONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THEEXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THEPOSSIBILITY OF SUCH DAMAGES.7. GENERALIf any provision of this Agreement is invalid or unenforceable underapplicable law, it shall not affect the validity or enforceability ofthe remainder of the terms of this Agreement, and without furtheraction by the parties hereto, such provision shall be reformed to theminimum extent necessary to make such provision valid and enforceable.If Recipient institutes patent litigation against any entity(including a cross-claim or counterclaim in a lawsuit) alleging that theProgram itself (excluding combinations of the Program with other softwareor hardware) infringes such Recipient's patent(s), then such Recipient'srights granted under Section 2(b) shall terminate as of the date suchlitigation is filed.All Recipient's rights under this Agreement shall terminate if itfails to comply with any of the material terms or conditions of thisAgreement and does not cure such failure in a reasonable period oftime after becoming aware of such noncompliance. If all Recipient'srights under this Agreement terminate, Recipient agrees to cease useand distribution of the Program as soon as reasonably practicable.However, Recipient's obligations under this Agreement and any licensesgranted by Recipient relating to the Program shall continue and survive.Everyone is permitted to copy and distribute copies of this Agreement,but in order to avoid inconsistency the Agreement is copyrighted andmay only be modified in the following manner. The Agreement Stewardreserves the right to publish new versions (including revisions) ofthis Agreement from time to time. No one other than the AgreementSteward has the right to modify this Agreement. The Eclipse Foundationis the initial Agreement Steward. The Eclipse Foundation may assign theresponsibility to serve as the Agreement Steward to a suitable separateentity. Each new version of the Agreement will be given a distinguishingversion number. The Program (including Contributions) may always beDistributed subject to the version of the Agreement under which it wasreceived. In addition, after a new version of the Agreement is published,Contributor may elect to Distribute the Program (including itsContributions) under the new version.Except as expressly stated in Sections 2(a) and 2(b) above, Recipientreceives no rights or licenses to the intellectual property of anyContributor under this Agreement, whether expressly, by implication,estoppel or otherwise. All rights in the Program not expressly grantedunder this Agreement are reserved. Nothing in this Agreement is intendedto be enforceable by any entity that is not a Contributor or Recipient.No third-party beneficiary rights are created under this Agreement.Exhibit A - Form of Secondary Licenses Notice"This Source Code may also be made available under the followingSecondary Licenses when the conditions for such availability set forthin the Eclipse Public License, v. 2.0 are satisfied: GNU General PublicLicense as published by the Free Software Foundation, either version 2of the License, or (at your option) any later version, with the GNUClasspath Exception which is available athttps://www.gnu.org/software/classpath/license.html."Simply including a copy of this Agreement, including this Exhibit Ais not sufficient to license the Source Code under Secondary Licenses.If it is not possible or desirable to put the notice in a particularfile, then You may include the notice in a location (such as a LICENSEfile in a relevant directory) where a recipient would be likely tolook for such a notice.You may add additional accurate notices of copyright ownership.