- /* package whatever; // don't place package name! */ 
-   
- import java.util.*; 
- import java.lang.*; 
- import java.io.*; 
-   
- import java.time.*; 
-   
- /* Name of the class has to be "Main" only if the class is public. */ 
- class Ideone 
- { 
- 	{ 
-   
-     LocalDate ld = LocalDate.now( ZoneId.of( "America/Montreal" ) ); 
-     LocalDate xmasThisYear = MonthDay.of( Month.DECEMBER , 25 ).atYear( ld.getYear() ); 
-     ZoneId earliestXmasZone = ZoneId.of( "Pacific/Kiritimati" ) ; 
-     ZonedDateTime zdtEarliestXmasThisYear = xmasThisYear.atStartOfDay( earliestXmasZone ); 
-     Instant instantEarliestXmasThisYear = zdtEarliestXmasThisYear.toInstant(); 
-     Clock clockEarliestXmasThisYear = Clock.fixed( instantEarliestXmasThisYear , earliestXmasZone ); 
-   
-     // Use that special fixed clock to always return the same moment. 
-     Instant instant = Instant.now( clockEarliestXmasThisYear ); 
-     ZonedDateTime zdt = ZonedDateTime.now( clockEarliestXmasThisYear ); 
-     ZonedDateTime zdtMontreal = zdt.withZoneSameInstant( ZoneId.of ( "America/Montreal" ) ) ; 
-   
-     System- . out- . println( "instant.toString(): " +-  instant  );
 
-     System- . out- . println( "zdt.toString(): " +-  zdt  );
 
-     System- . out- . println( "zdtMontreal.toString(): " +-  zdtMontreal  );
 
-   
- 	} 
- } 
				LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgppbXBvcnQgamF2YS50aW1lLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewoKICAgIExvY2FsRGF0ZSBsZCA9IExvY2FsRGF0ZS5ub3coIFpvbmVJZC5vZiggIkFtZXJpY2EvTW9udHJlYWwiICkgKTsKICAgIExvY2FsRGF0ZSB4bWFzVGhpc1llYXIgPSBNb250aERheS5vZiggTW9udGguREVDRU1CRVIgLCAyNSApLmF0WWVhciggbGQuZ2V0WWVhcigpICk7CiAgICBab25lSWQgZWFybGllc3RYbWFzWm9uZSA9IFpvbmVJZC5vZiggIlBhY2lmaWMvS2lyaXRpbWF0aSIgKSA7CiAgICBab25lZERhdGVUaW1lIHpkdEVhcmxpZXN0WG1hc1RoaXNZZWFyID0geG1hc1RoaXNZZWFyLmF0U3RhcnRPZkRheSggZWFybGllc3RYbWFzWm9uZSApOwogICAgSW5zdGFudCBpbnN0YW50RWFybGllc3RYbWFzVGhpc1llYXIgPSB6ZHRFYXJsaWVzdFhtYXNUaGlzWWVhci50b0luc3RhbnQoKTsKICAgIENsb2NrIGNsb2NrRWFybGllc3RYbWFzVGhpc1llYXIgPSBDbG9jay5maXhlZCggaW5zdGFudEVhcmxpZXN0WG1hc1RoaXNZZWFyICwgZWFybGllc3RYbWFzWm9uZSApOwoKICAgIC8vIFVzZSB0aGF0IHNwZWNpYWwgZml4ZWQgY2xvY2sgdG8gYWx3YXlzIHJldHVybiB0aGUgc2FtZSBtb21lbnQuCiAgICBJbnN0YW50IGluc3RhbnQgPSBJbnN0YW50Lm5vdyggY2xvY2tFYXJsaWVzdFhtYXNUaGlzWWVhciApOwogICAgWm9uZWREYXRlVGltZSB6ZHQgPSBab25lZERhdGVUaW1lLm5vdyggY2xvY2tFYXJsaWVzdFhtYXNUaGlzWWVhciApOwogICAgWm9uZWREYXRlVGltZSB6ZHRNb250cmVhbCA9IHpkdC53aXRoWm9uZVNhbWVJbnN0YW50KCBab25lSWQub2YgKCAiQW1lcmljYS9Nb250cmVhbCIgKSApIDsKCiAgICBTeXN0ZW0ub3V0LnByaW50bG4oICJpbnN0YW50LnRvU3RyaW5nKCk6ICIgKyBpbnN0YW50ICk7CiAgICBTeXN0ZW0ub3V0LnByaW50bG4oICJ6ZHQudG9TdHJpbmcoKTogIiArIHpkdCApOwogICAgU3lzdGVtLm91dC5wcmludGxuKCAiemR0TW9udHJlYWwudG9TdHJpbmcoKTogIiArIHpkdE1vbnRyZWFsICk7CgoJfQp9