Auto-seismic loading according to the ASCE 7-16 code, Korean Building Code (KBC 2016) and IS 1893:2016 code has been added.
Automated response spectrum functions according to the ASCE 7-16, Korean Building Code (KBC 2016) and IS 1893:2016 codes have been added.
Auto-wind loading according to the ASCE 7-16 code and Korean Building Code (KBC 2016) has been added.
Steel frame design according to AISC 360-16 has been added.


Remember that one of the values enshrined in the U.S. Constitution is the separation of Church and State. There is no official state religion in the U.S., unlike many countries. The two institutions operate in their own spheres, and this gives individuals the freedom to choose the religion that suits their taste, etc.
Can someone to me explain an event held over the weekend?
In a Baptist church in Louisville KY (I lived just down the road in Lexington KY for nearly 20 years) was used as the rallying stage for a joint appearance by several ministers and members of congress. The rallly was a telecast program, named "Stopping the Filibuster Against People of Faith", and was aired in churches around the country.
At issue are judicial nominations. The Bush Administration has nominated several radical right-wing nutjobs, and now are complaining that they aren't being approved. As a result the Congressional leaders are moving to end the ability to filibuster as a tactic to stop a judicial nomination. The Republicans are complaining that the Democrats have filibustered a couple of their judicial appointments.
Well, excuse me, but when the shoe was on the other foot the Republicans were fighting Clinton's appointments just as hard as the Democrats are fighting Bush's appointments.
Frist's participation in the event drew fire from Democrats and hundreds of religious leaders, who accused Christian conservatives of raising unsubstantiated allegations of religious persecution.
Four hundred thirty religious leaders from across the country signed a letter to protest Sunday's rally. And the FRC rally prompted opposition rallies, including one in Louisville.
"What we detect instead is the work of a political organization using Christian language to exploit Americans' desire to preserve religious values by framing their political strategy in terms of religious liberty," wrote the Rev. Joe Phelps of Highland Baptist Church in Louisville, which held the opposition rally. "This is deceptive, manipulative, and false."


text:
Le traité de paix entre le Japon et l'Inde (日本国とインドとの間の平和条約) est un traité de paix signé le 9 juin 1952 rétablissant les relations entre les deux nations.

Contexte
L'Empire britannique, dont l'Inde faisait partie, avait des relations diplomatiques complètes avec le Japon et s'est impliqué dans la Seconde Guerre mondiale. Après la guerre, le Japon était sous occupation américaine et l'Inde a obtenu son indépendance le 15 août 1947. En 1951, la conférence de paix de San Francisco a eu lieu avec le premier ministre indien Jawaharlal Nehru refusant d'assister à la conférence, parce qu'il considérait les dispositions du Traité de San Francisco limitait la souveraineté japonaise, comme on le voit à ce jour avec le  géré par les États-Unis.

Notes et références

Juin 1952
Traité signé en 1952
Traité signé par l'Inde
Traité signé par le Japon

redpajama_set_name: RedPajamaWikipedia


text:
Soccer World Reacts To Messi's First Major Argentina Title
July 12, 2021 by The Spun Leave a Comment
At the club level, Lionel Messi has accomplished just about everything, winning multiple La Liga, Champions League and Club World Cup titles. But winning titles with the Argentina national team has largely eluded him. Until yesterday.
Messi and La Albiceleste won their first Copa America title in nearly 30 years yesterday, beating rival Brazil 1-0 thanks to a goal from Angel Di Maria. The Copa America win marks the first title that Lionel Messi has won with the Argentina national title.
Messi earned his first caps for Argentina in 2005 when he was only 18 years old. But the next 15 years would be nothing but brutal close calls for La Albiceleste.
The World Cup was especially frustrating for Messi. Argentina reached the quarter-finals in the 2006 and 2010 World Cups, narrowly lost the 2014 World Cup Final to Germany, and were knocked out of the 2018 World Cup Round of 16 by eventual champion France.
In the Copa America, Argentina were runner-ups three times, third-place finishers in 2019 and quarter-finalists in 2011.
But 2021 was the year that everything finally worked in Messi's favor. On social media, many are taking this win to signify that Messi has finally taken his place as the greatest soccer player of all-time:
Lionel Messi. The greatest of all time. pic.twitter.com/T7R3mYRDpX
— DaveOCKOP (@DaveOCKOP) July 11, 2021
Lionel Messi really is going to be the first player ever to win a Ballon d'Or in three different decades.
— Roy Nemer (@RoyNemer) July 11, 2021
7th Ballon D'or incoming. The greatest there is the greatest there was the greatest there will ever be. LIONEL MESSI. pic.twitter.com/d8vJV76leS
— Pitch Invaders (@InvadersPitch) July 11, 2021
Lionel Messi during the 2021 Copa América:
◉ =Most goals
◉ Most assists
◉ Most shots
◉ Most shots on target
◉ =Most chances created
◉ Most goals outside the box
◉ Most through balls
◉ Most accurate final ⅓ passes
Player of the Tournament again. Champion, finally. pic.twitter.com/O8RdsF1gUH
— Squawka Football (@Squawka) July 11, 2021
Congratulations Lionel Messi on your first international trophy with Argentina 🇦🇷 More than deserved, I think we all agree! #CopaAmerica2021 #CopaAmerica
— Jérôme Boateng (@JeromeBoateng) July 11, 2021
The World Cup is only one year away now. With their win in the Copa America, Argentina will now have more momentum going into it than ever before.
Can Lionel Messi deliver a World Cup to Argentina?
The post Soccer World Reacts To Messi's First Major Argentina Title appeared first on The Spun.

redpajama_set_name: RedPajamaCommonCrawl


After the update of Hekate v4.6 SVC the developer tumGER has released a new version 11.9.1 of Kosmos.This solution is nothing more than SDFilesSwitch a reference point for the console Nintendo Switch a package that includes all the files necessary for the execution of hekate, SwitchBlade or LayeredFS and a custom firmware such as Atmosphere in addition to very useful homebrews such as Gag-Order, AppstoreNX, EdiZon, LayeredFS Hekate and SDFileUpdater compatible with various versions of the Nintendo Switch firmware.The package can be customized through this developer's web page .
Added patch for svcControlCodeMemory which helps dynarecs on emulators.
It helps when users who use AutoRCM inject and turn off fast enough.
Adding the failed automatic calibration of SD card fallback and some minor corrections.
Improvements to the overall stability of the system to improve the user experience.
New key software, successor to kezplez, supports 6.2.0 keys and also downloads titlekeys!
Here is another great thanks to bernv3 for having once again created one of the most beautiful icons we have ever seen!
The next generation of Tinfoil from the new owner of the original Tinfoil, @XorTroll !
Fixed the problem of sleep for declassed units with efuses burned more than necessary.
Fixed the problem with the chainloading of update.bin and forced hw init to update, in case you change again in the future.
This is a quick solution and requires you to have v4.6 on your modchip / dongle.
Some small SMMU emulations for TSEC fixes for the most unfortunate out there. The maximum waiting time remains low.
Many many fixes and even added some error messages for recovery and boot options.
A bug was fixed that caused some modules to fail on firmware 1.0.0.
Fixed a bug that caused sleep mode to fail with debugmode enabled.
As a result, debugmode is now enabled in the default BCT.ini.
Full support for 6.2.0 . Thanks to @nwert , @ balika011 and off course, @CTCaer !
He has a 100% successful relationship.
Fixed the problem with YouTube HDCP . Thank @hexkyz for having devoted some time to investigate.
Added the "silent option to the HOS Auto-Off option. Now you can choose whether to show the logo.
Refactored the monolithic main.c to the simplest grouped sections. Furthermore, hos.c has taken some love.
This includes Signature Patch, sleep mode and everything you've had on all the other firmware before!
This allows you to play online ad-hoc / lan for games like Smash and Mario Kart 8! As more and more people are banned every day, this has become more and more demanded and after a while 'time here it is for you!
After receiving tons of fantastic Kosmos bootlogs, we decided to create a new bootlogo for the project. This is mainly due to the work of bernv3.
You can watch all the fantastic bootlogos on our discord !


text:
Title: Chrysler Building
Subject: Architecture of New York City, List of tallest buildings and structures in the world, List of tallest buildings in the United States, Manhattan, InterMedia Partners
Record height
Tallest in the world from May 27, 1930 to April 30, 1931[I]
Surpassed by
405 Lexington Avenue, Manhattan, New York 10174
Construction started
Abu Dhabi Investment Council
Antenna spire
1,046 ft (319 m)[1]
899 ft (274 m)[1]
Floor count
77[1][2]
1,195,000 sq ft (111,000 m2)
Lifts/elevators
William Van Alen
U.S. National Register of Historic Places
U.S. National Historic Landmark
Location in New York City
NRHP Reference #
Significant dates
Added to NRHP
Designated NHL
December 8, 1976[4]
The Chrysler Building is an Art Deco style skyscraper in New York City, located on the east side of Manhattan in the Turtle Bay area at the intersection of 42nd Street and Lexington Avenue. At 1,046 feet (319 m),[1][6][7] the structure was the world's tallest building for 11 months before it was surpassed by the Empire State Building in 1931.[8] It is still the tallest brick building in the world, albeit with an internal steel skeleton. After the destruction of the World Trade Center, it was again the second-tallest building in New York City until December 2007, when the spire was raised on the 1,200-foot (365.8 m) Bank of America Tower, pushing the Chrysler Building into third position. In addition, The New York Times Building, which opened in 2007, is exactly level with the Chrysler Building in height.[9] Both buildings were then pushed into 4th position, when the under construction One World Trade Center surpassed their height.
The Chrysler Building is a classic example of Art Deco architecture and considered by many contemporary architects to be one of the finest buildings in New York City. In 2007, it was ranked ninth on the List of America's Favorite Architecture by the American Institute of Architects.[10] It was the headquarters of the Chrysler Corporation from 1930 until the mid-1950s. Although the building was built and designed specifically for the car manufacturer, the corporation did not pay for the construction of it and never owned it, as Walter P. Chrysler decided to pay for it himself, so that his children could inherit it.[11]
1.1 Design beginnings
1.3 Completion
1.4 Property
4 Tenants
The Chrysler Building in 1932
The Chrysler Building, as seen from Empire State Building in June 2005.
Chrysler Building and eastern Midtown Manhattan
The Chrysler Building was designed by architect William Van Alen for a project of Walter P. Chrysler.[11] When the ground breaking occurred on September 19, 1928, there was an intense competition in New York City to build the world's tallest skyscraper.[12][13] Despite a frantic pace (the building was built at an average rate of four floors per week), no workers died during the construction of this skyscraper.[14]
Design beginnings
Van Alen's original design for the skyscraper called for a decorative jewel-like glass crown. It also featured a base in which the showroom windows were tripled in height and topped by 12 stories with glass-wrapped corners, creating an impression that the tower appeared physically and visually light as if floating in mid-air.[11] The height of the skyscraper was also originally designed to be 246 meters (807 ft).[14] However, the design proved to be too advanced and costly for building contractor William H. Reynolds, who disapproved of Van Alen's original plan.[15] The design and lease were then sold to Walter P. Chrysler, who worked with Van Alen and redesigned the skyscraper for additional stories; it was eventually revised to be 282 m (925 ft) tall.[14] As Walter Chrysler was the chairman of the Chrysler Corporation and intended to make the building into Chrysler's headquarters,[14] various architectural details and especially the building's gargoyles were modeled after Chrysler automobile products like the hood ornaments of the Plymouth; they exemplify the machine age in the 1920s (see below).[16][17]
Construction commenced on September 19, 1928.[14] In total, almost 400,000 rivets were used[14] and approximately 3,826,000 bricks were manually laid, to create the non-loadbearing walls of the skyscraper.[18] Contractors, builders and engineers were joined by other building-services experts to coordinate construction.
Prior to its completion, the building stood about even with a rival project at 40 Wall Street, designed by H. Craig Severance. Severance increased the height of his project and then publicly claimed the title of the world's tallest building.[19] (This distinction excluded structures that were not fully habitable, such as the Eiffel Tower.)[20] In response, Van Alen obtained permission for a 38-meter (125 ft) long spire[21] and had it secretly constructed inside the frame of the building. The spire was delivered to the site in four different sections.[22] On October 23, 1929, the bottom section of the spire was hoisted onto the top of the building's dome and lowered into the 66th floor of the building. The other remaining sections of the spire were hoisted and riveted to the first one in sequential order in just 90 minutes.[23]
Upon completion, May 20, 1930,[14] the added height of the spire allowed the Chrysler Building to surpass 40 Wall Street as the tallest building in the world and the Eiffel Tower as the tallest structure. It was the first man-made structure to stand taller than 1,000 feet (305 m). Van Alen's satisfaction in these accomplishments was likely muted by Walter Chrysler's later refusal to pay the balance of his architectural fee.[11] Less than a year after it opened to the public on May 27, 1930, the Chrysler Building was surpassed in height by the Empire State Building, but the Chrysler Building is still the world's tallest steel-supported brick building. As of November 2, 2011, the building's height was surpassed by the under construction One World Trade Center at the height of 1,106 feet.[24][25]
Height comparison of buildings in New York City
The east building wall of the base out of which the tower rises runs at a slant to the Manhattan street grid, following a property line that predated the Commissioners' Plan of 1811.[26] The land on which the Chrysler Building stands was donated to The Cooper Union for the Advancement of Science and Art[27] in 1902. The land was originally leased to William H. Reynolds, but, when he was unable to raise money for the project, the building and the development rights to the land were acquired by Walter P. Chrysler in 1928.[27][28] Contrary to popular belief, the Chrysler Corporation was never involved in the construction or ownership of the Chrysler Building, although it was built and designed for the corporation and served as its headquarters until the mid-1950s. It was a project of Walter P. Chrysler for his children.[11]
The ownership of the building has changed several times. The Chrysler family sold the building in 1953 to William Zeckendorf,[29] and in 1957 it was purchased by Sol Goldman and Alex DiLorenzo, and owned by Massachusetts Mutual Life Insurance Company. The lobby was refurbished and the facade renovated in 1978–1979.[30] The building was owned by Jack Kent Cooke in 1979. The spire underwent a restoration that was completed in 1995. In 1998, Tishman Speyer Properties and the Travelers Insurance Group bought the Chrysler Building and the adjoining Kent Building in 1997 for about $220 million (equal to $320 million in 2014) from a consortium of banks and the estate of Jack Kent Cooke. Tishman Speyer Properties had negotiated a 150-year lease on the land from Cooper Union and the college continues to own both the land under the Chrysler Building and the building itself. Cooper Union's name is on the deed.
In 2001, a 75% stake in the building management contract was sold, for US$ 300 million (equal to $400 million in 2014), to TMW, the German arm of an Atlanta-based investment fund.[31] On June 11, 2008 it was reported that the Abu Dhabi Investment Council was in negotiations to buy TMW's 75% economic interest, and a 15% interest from Tishman Speyer Properties in the building, and a share of the Trylons retail structure next door for US$ 800 million.[32] On July 9, 2008 it was announced that the transaction had been completed, and that the Abu Dhabi Investment Council was now the 90% owner of the building.[33][34]
Detail of the Art Deco ornamentation at the crown
View up the building
The Chrysler Building is considered a leading example of Art Deco architecture. The corners of the 61st floor are graced with eagles; on the 31st floor, the corner ornamentation are replicas of the 1929 Chrysler radiator caps.[35] The building is constructed of masonry, with a steel frame, and metal cladding. In total, the building currently contains 3,862 windows on its facade and 4 banks of 8 elevators designed by the Otis Elevator Corporation.[14] The building was declared a National Historic Landmark in 1976.[4][36]
The Chrysler Building is also renowned and recognized for its terraced crown. Composed of seven radiating terraced arches, Van Alen's design of the crown is a cruciform groin vault constructed into seven concentric members with transitioning setbacks, mounted up one behind another.[37] The stainless-steel cladding is ribbed and riveted in a radiating sunburst pattern with many triangular vaulted windows, transitioning into smaller segments of the seven narrow setbacks of the facade of the terraced crown. The entire crown is clad with silvery "Enduro KA-2" metal, an austenitic stainless steel developed in Germany by Krupp and marketed under the trade name "Nirosta" (a German acronym for nichtrostender Stahl, meaning "non-rusting steel").[11][38]
When the building first opened, it contained a public viewing gallery on the 71st floor, which was closed to the public in 1945. This floor is now the highest occupied floor of the Chrysler Building, it was occupied by an office space management firm in 1986.[39] The private Cloud Club occupied a three-floor high space from the 66th–68th floors, but closed in the late 1970s. Above the 71st floor, the stories of the building are designed mostly for exterior appearance, functioning mainly as landings for the stairway to the spire. These top stories are very narrow with low, sloped ceilings, and are useful only for holding radio-broadcasting and other mechanical and electrical equipment.[14] Television station WCBS-TV (Channel 2) originally transmitted from the top of the Chrysler in the 1940s and early 1950s, before moving to the Empire State Building.[14] For many years, WPAT-FM and WTFM (now WKTU) also used the Chrysler Building as a transmission site, but they also moved to the Empire State Building by the 1970s. There are currently no commercial broadcast stations located at the Chrysler Building.
There are two sets of lighting in the top spires and decoration. The first are the V-shaped lighting inserts in the steel of the building itself. Added later were groups of floodlights that are on mast arms directed back at the building. This allows the top of the building to be lit in many colors for special occasions. This lighting was installed by electrician Charles Londner and crew during construction.[14]
The Chrysler Building has been shown in several movies that take place in New York. In the summer of 2005, New York's own Skyscraper Museum asked one hundred architects, builders, critics, engineers, historians, and scholars, among others, to choose their 10 favorites among 25 New York towers. The Chrysler Building came in first place as 90% of them placed the building in their top-10 favorite buildings.[40]
The Chrysler Building's distinctive profile has inspired similar skyscrapers worldwide, including One Liberty Place in Philadelphia.[41][42]
Blank Rome[43]
InterMedia Partners[44]
Regus[45]
Troutman Sanders[46]
Lamp of the hall of the Chrysler Building
One of the Radiator Caps seen from the ground level
Chrysler Building next to the Calyon Building
View from one of the north-facing triangular windows
Elevator interior with inlaid wood
Illumination of the building at night
The building's distinctive crown
The building rising into the sky
A view of the Chrysler Building from the Empire State Building
A view of the Chrysler Building from the East 42nd Street
Chrysler Building from East 42nd Street
List of tallest buildings in the United States
Architecture of New York City
List of buildings and structures
List of tallest buildings and structures in the world
List of tallest freestanding structures in the world
List of tallest buildings in New York City
^ a b c d e f "Chrysler Building - The Skyscraper Center". Council on Tall Buildings and Urban Habitat.
^ Nash, Eric Peter; McGrath, Norman (1999). Manhattan Skyscrapers. Princeton Architectural Press. p. 63.
^ a b "Chrysler Building". National Historic Landmark summary listing. National Park Service. Retrieved April 20, 2012.
^ Chrysler Building at Emporis
^ "Map." Turtle Bay Association. Retrieved on January 25, 2009.
^ "The Chrysler Building –". Skyscraperpage.com. Retrieved September 27, 2010.
^ "The History of Measuring Tall Buildings". Council on Tall Buildings and Urban Habitat. Retrieved May 1, 2012.
^ "Emporis Data – See Tallest buildings Ranking". Emporis.com. June 15, 2009. Retrieved September 27, 2010.
^ "FavoriteArchitecture.org". FavoriteArchitecture.org. Retrieved September 27, 2010.
^ a b c d e f Pierpont, Claudia Roth (November 18, 2002). "The Silver Spire: How two men's dreams changed the skyline of New York". The New Yorker. Retrieved October 23, 2011.
^ Emporis GmbH. """Emporis Data "...a celebrated three-way race to become the tallest building in the world.. Emporis.com. Retrieved September 27, 2010.
^ """The Manhattan Company – Skyscraper.org; "...'race' to erect the tallest tower in the world.. Skyscraper.org. Retrieved September 27, 2010.
^ a b c d e f g h i j k University of Wisconsin–Madison; School of Engineering – The Chrysler Building
^ Emporis GmbH. "– Chrysler Building". Emporis.com. Retrieved September 27, 2010.
^ "Chrysler Building". glasssteelandstone.com. Retrieved October 11, 2008.
^ Emporis Data
^ Stravitz 2002, Pages 54, 158, image caption no.39
^ Emporis Data – See source no.4 line 4; "Briefly held the world's tallest title until it was eclipsed by the spire of Chrysler Building."
^ CTBUH – Criteria of World's Tallest Building
^ Stravitz 2002, Page 161. Image caption no.39
^ Stravitz 2002, Page 161, image caption no.54
^ Stravitz 2002, Pages xiii (Paragraph 10) and 161. Image caption no.39
^ "The World's Tallest Brick Building – SkyscraperPicture.com". webcache.googleusercontent.com. Retrieved September 27, 2010.
^ "A view from Above – The Chrysler Building". webcache.googleusercontent.com. Archived from the original on 2007-06-30. Retrieved September 27, 2010.
^ Noted in Kevin Walsh, Forgotten New York: The Ultimate Urban Explorer's Guide to All Five Boroughs, 2006:171.
^ a b "Cooper Union and Chrysler Building". Cooper.edu. September 15, 2004. Archived from the original on July 8, 2010. Retrieved September 27, 2010.
^ Gregor, Alison (February 13, 2008). "Smart Land Deals as a Cornerstone of Free Tuition". The New York Times. Retrieved October 23, 2010.
^ Bagli, Charles V. (November 25, 1997). "A New Owner To Take Over An Old Classic". The New York Times. Retrieved October 26, 2011.
^ Lewis, Michael J. (June 19, 2005). "An enduring hood ornament". The San Diego Union-Tribune. Archived from the original on May 19, 2009. Retrieved October 23, 2011.
^ Bagli, Charles V. (March 5, 2001). "German Group Buys Stake In Skyscraper". The New York Times. Retrieved April 30, 2010.
^ "CHRYSLER BUILDING ON THE BLOCK – SOVEREIGN ARAB FUND TO PAY $800M".
^ Bagli, Charles V. (July 10, 2008). "Abu Dhabi Buys 90% Stake in Chrysler Building". The New York Times. Retrieved June 8, 2009.
^ "New York's Chrysler Building Bought by Abu Dhabi Fund". Bloomberg.
^ "1926 Chrysler Radiator Cap Used On The Chrysler Building". Imperialclub.com. December 13, 2006. Retrieved September 27, 2010.
^ Pitts, Carolyn (August 1976). "National Register of Historic Places Inventory-Nomination: Chrysler Building" (PDF). National Park Service. Retrieved May 3, 2009. and Accompanying 1 photo, exterior, undated PDF (164 KB)
^ "The City Review.com – Chrysler Building by AIA Carter B. Horsley". Thecityreview.com. Retrieved September 27, 2010.
^ "Article: Trade names associated with stainless steels". Bssa.org.uk. Retrieved September 27, 2010.
^ Michaelis, David (March 31, 2002). "Inside the Needle: The Chrysler Building Gets Lit by David Michaelis". MrBellersNeighborhood. Archived from the original on May 19, 2009. Retrieved September 27, 2010.
^ Dunlap, David W. (September 1, 2005). "In a City of Skyscrapers, Which Is the Mightiest of the High? Experts Say It's No Contest". The New York Times. Retrieved April 8, 2008.
^ Goldberger, Paul (November 15, 1987). "Giving New Life to Philadelphia's Skyline". The New York Times. paragraph 6, line 4. Retrieved September 27, 2010. The tower resembles nothing so much as the Chrysler Building...
^ University of Wisconsin–Madison; School of Engineering – One Liberty Place; Slide 18, Building Materials
^ Contact InterMedia Partners
^ http://www.crainsnewyork.com/dcce/20090217/12/real_estate/122/deals_active/2382931
^ New York's Chrysler Building Bought by Abu Dhabi Fund
^ "Contact". Reprieve.org. 1970-01-01. Retrieved 2014-05-19.
Stravitz, David (2002). The Chrysler Building: Creating a New York Icon Day by Day. New York: Princeton Architectural Press.
Terranova, Antonio; Manferto, Valeria (2003). Skyscrapers. Vercelli, Italy: White Star.
Chrysler Building on CTBUH Skyscraper Center
Official Tishman Speyer website
The story of Chrysler Building – by CBS Forum
Salon.com article (02/2002)
New York Architecture Images - The Chrysler Building
Chrysler Building: Lighthearted & Serious, by Anthony Romeo, AIA
Eiffel Tower World's tallest structure
40 Wall Street Tallest building in the world
Tallest building in the United States
New York City Historic Sites
NRHP
Timeline of tallest buildings in New York City
Collegiate Reformed Protestant Dutch Church (c. 1643)
Trinity Church (85 m) (1846)
New York World Building (94 m) (1890)
Manhattan Life Insurance Building (100 m) (1894)
Park Row Building (119 m) (1899)
Singer Building (187 m) (1908)
Metropolitan Life Tower (213 m) (1909)
Woolworth Building (241 m) (1913)
40 Wall Street (283 m) (1929)
Chrysler Building (320 m) (1930)
Empire State Building (443 m) (1931)
World Trade Center (526 m) (1973)
One World Trade Center (541 m) (2014)
Supertall skyscrapers
Aon Center
Franklin Center (Chicago)
JPMorgan Chase Tower
Trump Tower Chicago
U.S. Bank Tower
Wells Fargo Plaza
23 Marina
Abenobashi Terminal Building Skyscraper (Abeno Harukas)
Abraj Al Bait
Almas Tower
Al Hamra Tower
Arraya 2
Bank of China Tower
China World Trade Center Tower III
Chongqing World Financial Center
Emirates Office Tower
Elite Residence
Etihad Towers
Guangzhou International Finance Center
HHHR Tower
International Commerce Centre
International Finance Centre
Jin Mao Tower
Jumeirah Emirates Towers Hotel
JW Marriott Marquis Dubai
Keangnam Hanoi Landmark Tower
Kingdom Centre
Leatop Plaza
Longxi International Hotel
Minsheng Bank Building
Nina Tower
Northeast Asia Trade Tower
Ocean Heights
Pearl River Tower
Princess Tower
Rose Tower
Shimao International Plaza
Shun Hing Square
Telekom Tower
Tianjin World Financial Center
The Address Downtown Dubai
The Landmark
The Marina Torch
The Wharf Times Square
Tuntex Sky Tower
Wenzhou World Trade Center
We've the Zenith
Wuxi Maoye City - Marriott Hotel
Wuxi Suning Plaza 1
Zifeng Tower
City of Capitals
Mercury City Tower
Three World Trade Center
Wilshire Grand Tower
Gran Torre Santiago
ADNOC Headquarters
Ahmed Abdul Rahim Al Attar Tower
Al Yaqoub Tower
Busan International Finance Center
Capital Market Authority Headquarters
Central Market Project
Chang Fu Jin Mao Tower
Changsha IFS Tower T1
Chengdu Greenland Tower
China Resources Centre Block A
China Resources Headquarters
Chongqing Corporate Avenue 1
Chow Tai Fook Centre
Dalian Eton Center
Dalian Greenland Center
Dalian International Trade Center
DAMAC Heights
Deji Plaza Phase 2
Diwang International Fortune Center
Dongguan International Trade Center 1
Dream Dubai Marina
Dubai Pearl
East Pacific Center
Fortune Center
Gate to the East
Gate of Kuwait
Gate of Taipei
Gemdale Gangxia Tower 1
Global Financial Building
Golden Eagle Tiandi Tower A
Goldin Finance 117
Greenland Group Suzhou Center
Hanking Center
Hengqin Headquarters Tower 2
Heung Kong Tower
Hon Kwok City Center
Huaguoyuan Tower 1
IB Tower
Kingdom Tower
Lamar Towers
LCT Landmark Tower
LCT Residential Tower A
LCT Residential Tower B
Logan Century Center 1
Lokhandwala Minerva
Lotte World Tower
Modern Media Center
Namaste Tower
Nanjing Olympic Suning Tower
Nanjing World Trade Center Tower 1
Ningbo Center
One Shenzhen Bay
Orchid Crown
Oasis Tower
Palais Royale, Mumbai
Pearl of the North
Pertamina Energy Tower
Ping An Finance Centre
Phoenix Towers
Riverside Century Plaza Main Tower
Rose Rock International Finance Center
Runhua Global Center 1
Ryugyong Hotel
South Asian Gate
Spring City 66
Suning Plaza Tower 1
Suzhou International Financial Center
Suzhou Center Plaza
Suzhou Zhongnan Center
Tianjin Chow Tai Fook Binhai Center
Tianjin Modern City Office Tower
Tianjin R&F Guangdong Tower
The Address the BLVD
The Skyscraper (Dubai)
The Stratford Residences
VietinBank Business Center Office Tower
White Magnolia Plaza
World One
Wuhan Center
Wuhan Greenland Center
Xiamen International Centre
Xiamen Shimao Cross-Strait PlazaA
Xiamen Shimao Cross-Strait PlazaB
Yantai Shimao No.1 The Harbour
Zhujiang New City Tower
Lakhta Center
Oko Tower 1
Construction delayed or suspended
Al Quds Endowment Tower
Barwa Tower
Burj Al Alam
Busan Lotte Town Tower
Doha Convention Center Tower
Dubai Towers Doha
Federation Tower
India Tower
JW Marriott International Finance Centre
Lighthouse Tower
Orchid Heights
Parc1 Tower A
Pentominium
Plaza Rakyat
Qatar National Bank Tower
Signature Tower Jakarta
Sino-Steel Tower
Square Capital Tower
Tameer Commercial Tower
Two World Trade Center
Xiamen Post & Telecommunications Building
List of architects of supertall buildings
U.S. National Register of Historic Places in New York
Contributing property
Keeper of the Register
History of the National Register of Historic Places
Lists by county
Chenango
Kings (Brooklyn)
New York (Manhattan)
Richmond (Staten Island)
Lists by city
Below 14th St.
14th–59th St.
59th–110th St.
Above 110th St.
Minor islands
Category:National Register of Historic Places in New York
Portal:National Register of Historic Places
Divisions and
Chrysler Australia
Street & Racing Technology (SRT)
Road Track (R/T)
Chrysler-Plymouth (1928–2001)
American Motors Corporation (1954–88)
Chrysler Australia (1951–81)
Chrysler Europe (1967–81)
Chrysler UK (1970–81)
Envi (2007–09)
Eurostar Automobilwerk
Global Electric Motorcars
Chrysler First Financial Services Corporation
Joint ventures and
United States Council for Automotive Research
Diamond-Star Motors
DaimlerChrysler–Mitsubishi alliance
Global Engine Alliance
C. Robert Kidder
Thomas W. LaSorda
Louis Rhodes
Chrysler Headquarters and Technology Center
Engines (Hemi, Pentastar, WGE)
Cerberus Capital Management
Chrysler Classic Racing
Daimler-Chrysler (1998–2007)
Chapter 11 reorganization)
Use mdy dates from June 2011
Articles with dead external links from April 2012
Commons category with local link same as on Wikidata
Office buildings completed in 1930
Art Deco architecture in New York City
Art Deco skyscrapers
Buildings and structures on the National Register of Historic Places in Manhattan
Former world's tallest buildings
Modernist architecture in New York
National Historic Landmarks in New York City
Office buildings in Manhattan
Skyscrapers between 300 and 349 meters
Skyscrapers in Manhattan
Visitor attractions in Manhattan
Human Rights Watch, National Film Board of Canada, Nathaniel Branden, China National Tourist Office
Jstor, National Park Service, United States Department of the Interior, Historic preservation, Pdf
New York City, September 11 attacks, Lower Manhattan, World Trade Center (1973–2001), World Trade Center (2001–present)
Bauhaus, World War II, Berlin, Art Nouveau, World War I
New York City, National Register of Historic Places, Empire State Building, Chrysler Building, Woolworth Building
New York City, Empire State Building, Midtown Manhattan, Lower Manhattan, Brooklyn
Dubai, United Arab Emirates, World Trade Center, Saudi Arabia, United Kingdom
New York City, Chicago, Houston, Philadelphia, Atlanta
Brooklyn, The Bronx, New York City, Queens, Staten Island
InterMedia Partners
Private equity, History of private equity and venture capital, New York City, Venture capital, Chrysler Building


text:
Q: Symfony2 FOSRestBundle return entity fields contained in form I'm using FOSRestBundle in Symfony2 to provide a REST-service.
Currently my controller returns an entity when a resource is requested (e.g. /users/40).
The frontend contains a form which allows to manipulate this resource and sends it back using PUT. The controller uses a form to process the data.
My problem is, that the form has less fields than the whole entity (id and password_hash are good examples). I came to the conclusion that sending the whole entity to the client is a bad idea. Instead, I want FOSRestBundle to send only the entity fields which are avaiable in the form.
So I just tried:
return $this->createForm(UserType::class, $entity);

The JSON structure returned from the server by FOSRestBundle looks very good. But unfortunately it doesn't contain values.
Of course, it doesn't - the form is not bound. And at this point it doesn't make sense to bind data. Hence I need to find another solution.
This use case will be very common in my applications. So I wonder if there was no easy / standard way to achieve this.
(P.S. I use Angular JS in the frontend. I simply attach the entity resource JSON to the scope and use symfony form templates to generate form fields which automatically are bound to the correct object of the scope)

A: The standard way to define what should be returned from FOS is to use serializer groups and either the Symfony serializer component or the JMS serializer.
In both cases you define groups on your entity properties:
// in the entity
use Symfony\Component\Serializer\Annotation\Groups;

class Story
{
    /**
     * @Groups({"story"})
     *
     * @var int
     */
    private $id;

And then:
 // in the controller
 * @Rest\View(serializerGroups={"story"})
 * @Rest\Route("stories")
 *
 * @return Story[]
 */
public function getStoriesAction()

Which will return you an object or objects with the properties matching the controller serializer groups exposed.

redpajama_set_name: RedPajamaStackExchange


Rotorua is one of the most amazing tourist destinations in New Zealand to explore. This iconic city is frequently visited by millions of travelers every year and thus it is laced with plenty of accommodation options. From budget lodging to posh and luxurious hotels, Rotorua has it all to host travelers from all walks of life. Rotorua hotels are designed to offer comfortable lodging and contemporary facilities to visitors.
In addition to this, these hotels are the perfect retreat to experience a warm Kiwi hospitality. These hotels offer a variety of eye-catching deals and discounts, thus find the deals online and get the bookings done. Rotorua is one of the most interesting international tourist destinations with a plethora of things to do and see. It boasts with plenty of natural parks, high-end shopping venues, tourist attractions, and geothermal springs. Moreover, this is the place where travelers can experience the true Maori Culture. To accommodate the influx of travelers, a variety of hotels in Rotorua New Zealand is available. Travelers can easily make a list of all hotels and choose as per their preference and pocket.
Step into Rotorua Hotels and unlock plenty of special experiences that can make travelers' trip delightful and exciting. These hotels are ideally located in the close proximity to the major city attractions and notable business centers and thus they are capable of hosting all kinds of visitors; be it a holidaymaker or a business traveler. Massages are available in best hotels in Rotorua such as Copthorne Hotel Rotorua, Sudima Lake Rotorua etc. to make guests feel pampered. Sudima Lake Rotorua also provides live entertainment to keep travelers entertained during their leisure time. Garden is available in some hotels like Silver Fern Accommodation & Spa Rotorua where guests can take a leisure walk while appreciating nature that surrounds them. Hotels in Rotorua New Zealand like Quest Rotorua Central feature pantry shopping service to facilitate the guests. Head towards any of these hotels and enjoy holidays like never before.
Rotorua Hotels are embraced with world-class facilities and the best of the services to make travelers' feel comfortable. Guests here can avail plenty of facilities such as the top of the line room service, laundry service, daily housekeeping, parking, fine dining, baggage storage, concierge, wheelchair accessible entrance, front desk etc. Best Hotels in Rotorua New Zealand such as Sudima Lake Rotorua, Distinction Rotorua Hotel & Conference Centre etc feature well maintained swimming pool where guests can take a plunge. Airport shuttle is available in some Rotorua Hotels and Motels to make visitors' trip travel- friendly. Hotels such as Prince's Gate Boutique Hotel, Quest Rotorua Central etc have kitchen in some upgraded rooms. Guests can also find a fitness center in some luxurious hotels such as Novotel Rotorua Lakeside, Copthorne Hotel Rotorua etc. Book any of these hotels and enjoy these top-class facilities during vacation.
Guests can enjoy an exceptional dining experience in Rotorua Hotels and savor a wide assortment of gourmet dishes. These hotels feature in-house restaurants that serve a wide variety of cuisines to the guests. Warm ambiance, elegant setting, La Carte menu, an extensive collection of cuisines and award-winning chefs are some of the highlights of these hotels. Guests can pay a visit at Mr. Yakitori Casual Dining at Distinction Rotorua Hotel and enjoy mouth-watering Yakitori in the plush setting. Travelers can also pop into Atlas Café & Restaurant in Novotel Rotorua Lakeside and sample international cuisines. This restaurant brings the world to the guests with a tantalizing array of flavors. Some of the notable hotels in Rotorua New Zealand feature on-site bar to the guests where they can enjoy a fine range of wine and beer. These bars are the perfect place for enjoying pre-dinner drinks or just to unwind after a long stressful day.
Is BBQ facility available in Rotorua Hotels?
Yes. There are several hotels such as The Backyard Inn, Silver Fern Accommodation & Spa Rotorua etc that offer BBQ facility to the guests.
List some hotels in Rotorua New Zealand with free breakfast.
Hotels in Rotorua New Zealand with free breakfast are Silver Fern Accommodation & Spa Rotorua, Copthorne Hotel Rotorua, Prince's Gate Boutique Hotel etc.
Do Rotorua hotels and motels offer room service?
Yes, of course. All hotels and motels in Rotorua offer top class room service to the guests to make them feel at home.
Can travelers find meeting rooms in Rotorua hotels?
Yes, travelers can easily find fully-equipped meeting rooms and conference facilities in Rotorua Hotels such as Distinction Rotorua Hotel & Conference Centre, The Backyard Inn, Copthorne Hotel Rotorua etc.
List some best hotels in Rotorua with Golf Course.
Copthorne Hotel Rotorua, Novotel Rotorua Lakeside, Silver Fern Accommodation & Spa Rotorua etc are some hotels with golf course.
Rotorua is a great choice for a holiday and is a fantastic spot to find fun, adventure, and luxury - all in one place. From beautiful sceneries to exceptional food choices, this place is a one-stop shop for a fantastic holiday. Some of the notable Rotorua Hotels to accommodate in are Rotorua Citizens Club, The Backyard Inn, Prince's Gate Boutique Hotel, Quest Rotorua Central, ibis Rotorua, Regent of Rotorua Boutique Hotel, Sudima Lake Rotorua, Novotel Rotorua Lakeside, Copthorne Hotel Rotorua and a lot more. A list of thoughtful amenities offered by these hotels includes contemporary rooms with a warm ambiance, attached bathroom, Wi-Fi, flat-screen TV with DVD players, mini-bars, mini-fridges, charging points, work desk, AC, tea and coffee maker equipment and a lot more.


text:
// Copyright 2019 The Bazel Authors. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//    http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package com.google.devtools.build.lib.runtime.commands;

import static com.google.common.collect.ImmutableList.toImmutableList;
import static com.google.common.collect.ImmutableSet.toImmutableSet;
import static com.google.common.collect.ImmutableSortedMap.toImmutableSortedMap;
import static java.nio.charset.StandardCharsets.UTF_8;
import static java.util.Comparator.comparing;
import static java.util.stream.Collectors.joining;
import static java.util.stream.Collectors.toList;

import com.google.common.base.Ascii;
import com.google.common.base.Verify;
import com.google.common.collect.HashBasedTable;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.ImmutableSortedMap;
import com.google.common.collect.ImmutableSortedSet;
import com.google.common.collect.Iterables;
import com.google.common.collect.Ordering;
import com.google.common.collect.Sets;
import com.google.common.collect.Table;
import com.google.devtools.build.lib.analysis.config.BuildConfigurationValue;
import com.google.devtools.build.lib.analysis.config.CoreOptions;
import com.google.devtools.build.lib.analysis.config.Fragment;
import com.google.devtools.build.lib.analysis.config.FragmentClassSet;
import com.google.devtools.build.lib.analysis.config.FragmentOptions;
import com.google.devtools.build.lib.analysis.config.FragmentRegistry;
import com.google.devtools.build.lib.analysis.config.InvalidConfigurationException;
import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.events.Event;
import com.google.devtools.build.lib.runtime.BlazeCommand;
import com.google.devtools.build.lib.runtime.BlazeCommandResult;
import com.google.devtools.build.lib.runtime.Command;
import com.google.devtools.build.lib.runtime.CommandEnvironment;
import com.google.devtools.build.lib.runtime.commands.ConfigCommand.ConfigOptions;
import com.google.devtools.build.lib.runtime.commands.ConfigCommandOutputFormatter.JsonOutputFormatter;
import com.google.devtools.build.lib.runtime.commands.ConfigCommandOutputFormatter.TextOutputFormatter;
import com.google.devtools.build.lib.server.FailureDetails;
import com.google.devtools.build.lib.server.FailureDetails.ConfigCommand.Code;
import com.google.devtools.build.lib.server.FailureDetails.FailureDetail;
import com.google.devtools.build.lib.skyframe.BuildConfigurationKey;
import com.google.devtools.build.lib.skyframe.SkyFunctions;
import com.google.devtools.build.lib.util.Pair;
import com.google.devtools.build.skyframe.InMemoryMemoizingEvaluator;
import com.google.devtools.common.options.EnumConverter;
import com.google.devtools.common.options.Option;
import com.google.devtools.common.options.OptionDocumentationCategory;
import com.google.devtools.common.options.OptionEffectTag;
import com.google.devtools.common.options.OptionsBase;
import com.google.devtools.common.options.OptionsParsingResult;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.util.Collection;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Set;
import javax.annotation.Nullable;

/** Handles the 'config' command on the Blaze command line. */
@Command(
    name = "config",
    builds = true,
    inherits = {BuildCommand.class},
    options = {ConfigOptions.class},
    usesConfigurationOptions = true,
    shortDescription = "Displays details of configurations.",
    allowResidue = true,
    completion = "string",
    hidden = true,
    help = "resource:config.txt")
public class ConfigCommand implements BlazeCommand {
  /** Defines the types of output this command can produce. */
  public enum OutputType {
    TEXT,
    JSON
  }

  /** Options for the "config" command. */
  public static class ConfigOptions extends OptionsBase {
    @Option(
        name = "dump_all",
        defaultValue = "false",
        documentationCategory = OptionDocumentationCategory.OUTPUT_PARAMETERS,
        effectTags = {OptionEffectTag.AFFECTS_OUTPUTS},
        help = "If set, dump all known configurations instead of just the ids.")
    public boolean dumpAll;

    /** Converter for --output. */
    public static class OutputTypeConverter extends EnumConverter<OutputType> {
      public OutputTypeConverter() {
        super(OutputType.class, "output type");
      }
    }

    @Option(
        name = "output",
        converter = OutputTypeConverter.class,
        defaultValue = "text",
        documentationCategory = OptionDocumentationCategory.OUTPUT_PARAMETERS,
        effectTags = {OptionEffectTag.AFFECTS_OUTPUTS},
        help = "Formats the output of displayed results. Can be one of: 'text', 'json'. ")
    public OutputType outputType;
  }

  /**
   * Data structure defining a {@link BuildConfigurationValue} for the purpose of this command's
   * output.
   *
   *
Includes all data representing a "configuration" and defines their relative structure and
   * list order.
   *
   *
A {@link ConfigCommandOutputFormatter} uses this to lightly format output from a logically
   * consistent core structure.
   */
  protected static class ConfigurationForOutput {
    final String skyKey;
    final String configHash;
    final boolean isHost;
    final boolean isExec;
    final List<FragmentForOutput> fragments;
    final List<FragmentOptionsForOutput> fragmentOptions;

    ConfigurationForOutput(
        String skyKey,
        String configHash,
        boolean isHost,
        boolean isExec,
        List<FragmentForOutput> fragments,
        List<FragmentOptionsForOutput> fragmentOptions) {
      this.skyKey = skyKey;
      this.configHash = configHash;
      this.isHost = isHost;
      this.isExec = isExec;
      this.fragments = fragments;
      this.fragmentOptions = fragmentOptions;
    }

    @Nullable
    public FragmentOptionsForOutput fragment(String fragmentName) {
      return this.fragmentOptions.stream()
          .filter(fo -> fo.name.equals(fragmentName))
          .findFirst()
          .orElse(null);
    }

    public Set<String> fragmentOptionNames() {
      return this.fragmentOptions.stream().map(fragment -> fragment.name).collect(toImmutableSet());
    }

    @Override
    public boolean equals(Object o) {
      if (o instanceof ConfigurationForOutput) {
        ConfigurationForOutput other = (ConfigurationForOutput) o;
        return other.skyKey.equals(skyKey)
            && other.configHash.equals(configHash)
            && other.fragments.equals(fragments)
            && other.fragmentOptions.equals(fragmentOptions);
      }
      return false;
    }

    @Override
    public int hashCode() {
      return Objects.hash(skyKey, configHash, fragments, fragmentOptions);
    }

    String checksum() {
      return configHash;
    }
  }

  /**
   * Data structure defining a {@link Fragment} for the purpose of this command's output.
   *
   *
{@link Fragment} is a Java object representation of a domain-specific "piece" of
   * configuration (like "C++-related configuration"). It depends on one or more {@link
   * FragmentOptions}, which are the --flag=value pairs that key configurations.
   *
   *
See {@link FragmentOptionsForOutput} and {@link ConfigurationForOutput} for further details.
   */
  protected static class FragmentForOutput {
    final String name;
    // We store the name of the associated FragmentOptions instead of FragmentOptionsForOutput
    // objects because multiple fragments may use the same FragmentOptions and we don't want to list
    // it multiple times.
    final List<String> fragmentOptions;

    FragmentForOutput(String name, List<String> fragmentOptions) {
      this.name = name;
      this.fragmentOptions = fragmentOptions;
    }

    @Override
    public boolean equals(Object o) {
      if (o instanceof FragmentForOutput) {
        FragmentForOutput other = (FragmentForOutput) o;
        return other.name.equals(name) && other.fragmentOptions.equals(fragmentOptions);
      }
      return false;
    }

    @Override
    public int hashCode() {
      return Objects.hash(name, fragmentOptions);
    }
  }

  /**
   * Data structure defining a {@link FragmentOptions} from the point of this command's output.
   *
   *
See {@link FragmentForOutput} and {@link ConfigurationForOutput} for further details.
   */
  protected static class FragmentOptionsForOutput {
    final String name;
    final Map<String, String> options;

    FragmentOptionsForOutput(String name, Map<String, String> options) {
      this.name = name;
      this.options = options;
    }

    public Set<String> optionNames() {
      return this.options.keySet();
    }

    public String getOption(String optionName) {
      return this.options.get(optionName);
    }

    @Override
    public boolean equals(Object o) {
      if (o instanceof FragmentOptionsForOutput) {
        FragmentOptionsForOutput other = (FragmentOptionsForOutput) o;
        return other.name.equals(name) && other.options.equals(options);
      }
      return false;
    }

    @Override
    public int hashCode() {
      return Objects.hash(name, options);
    }
  }

  /**
   * Data structure defining the difference between two {@link BuildConfigurationValue}s from the
   * point of this command's output.
   *
   *
See {@link ConfigurationForOutput} for further details.
   */
  protected static class ConfigurationDiffForOutput {
    final String configHash1;
    final String configHash2;
    final List<FragmentDiffForOutput> fragmentsDiff;

    ConfigurationDiffForOutput(
        String configHash1, String configHash2, List<FragmentDiffForOutput> fragmentsDiff) {
      this.configHash1 = configHash1;
      this.configHash2 = configHash2;
      this.fragmentsDiff = fragmentsDiff;
    }

    @Override
    public boolean equals(Object o) {
      if (o instanceof ConfigurationDiffForOutput) {
        ConfigurationDiffForOutput other = (ConfigurationDiffForOutput) o;
        return other.configHash1.equals(configHash1)
            && other.configHash2.equals(configHash2)
            && other.fragmentsDiff.equals(fragmentsDiff);
      }
      return false;
    }

    @Override
    public int hashCode() {
      return Objects.hash(configHash1, configHash2, fragmentsDiff);
    }
  }

  /**
   * Data structure defining the difference between two {@link BuildConfigurationValue}s for a given
   * {@link FragmentOptions}from the point of this command's output.
   *
   *
See {@link ConfigurationForOutput} for further details.
   */
  protected static class FragmentDiffForOutput {
    final String name;
    final Map<String, Pair<String, String>> optionsDiff;

    FragmentDiffForOutput(String name, Map<String, Pair<String, String>> optionsDiff) {
      this.name = name;
      this.optionsDiff = optionsDiff;
    }

    @Override
    public boolean equals(Object o) {
      if (o instanceof FragmentDiffForOutput) {
        FragmentDiffForOutput other = (FragmentDiffForOutput) o;
        return other.name.equals(name) && other.optionsDiff.equals(optionsDiff);
      }
      return false;
    }

    @Override
    public int hashCode() {
      return Objects.hash(name, optionsDiff);
    }
  }

  /**
   * Main entry point into the blaze config command.
   *
   *
Its purpose is to parse all options, figure out what variation of the command that implies,
   * run the right logic, and return the right exit code.
   */
  @Override
  public BlazeCommandResult exec(CommandEnvironment env, OptionsParsingResult options) {
    ImmutableSortedMap<BuildConfigurationKey, BuildConfigurationValue> configurations =
        findConfigurations(env);

    try (PrintWriter writer =
        new PrintWriter(
            new OutputStreamWriter(env.getReporter().getOutErr().getOutputStream(), UTF_8))) {

      ConfigOptions configCommandOptions = options.getOptions(ConfigOptions.class);
      ConfigCommandOutputFormatter outputFormatter =
          configCommandOptions.outputType == OutputType.TEXT
              ? new TextOutputFormatter(writer)
              : new JsonOutputFormatter(writer);
      ImmutableSortedMap<
              Class<? extends Fragment>, ImmutableSortedSet<Class<? extends FragmentOptions>>>
          fragmentDefs =
              getFragmentDefs(env.getRuntime().getRuleClassProvider().getFragmentRegistry());

      if (options.getResidue().isEmpty()) {
        if (configCommandOptions.dumpAll) {
          return reportAllConfigurations(outputFormatter, forOutput(configurations, fragmentDefs));
        } else {
          return reportConfigurationIds(outputFormatter, forOutput(configurations, fragmentDefs));
        }
      } else if (options.getResidue().size() == 1) {
        String configHash = options.getResidue().get(0);
        return reportSingleConfiguration(
            outputFormatter, env, forOutput(configurations, fragmentDefs), configHash);
      } else if (options.getResidue().size() == 2) {
        String configHash1 = options.getResidue().get(0);
        String configHash2 = options.getResidue().get(1);
        return reportConfigurationDiff(
            forOutput(configurations, fragmentDefs),
            configHash1,
            configHash2,
            outputFormatter,
            env);
      } else {
        String message = "Too many config ids.";
        env.getReporter().handle(Event.error(message));
        return createFailureResult(message, Code.TOO_MANY_CONFIG_IDS);
      }
    }
  }

  /**
   * Returns all {@link BuildConfigurationValue}s in Skyframe as a map from their {@link
   * BuildConfigurationKey} to instance.
   */
  private static ImmutableSortedMap<BuildConfigurationKey, BuildConfigurationValue>
      findConfigurations(CommandEnvironment env) {
    InMemoryMemoizingEvaluator evaluator =
        (InMemoryMemoizingEvaluator)
            env.getRuntime().getWorkspace().getSkyframeExecutor().getEvaluator();
    return evaluator.getDoneValues().entrySet().stream()
        .filter(e -> SkyFunctions.BUILD_CONFIGURATION.equals(e.getKey().functionName()))
        .collect(
            toImmutableSortedMap(
                comparing(e -> e.getOptions().checksum()),
                e -> (BuildConfigurationKey) e.getKey(),
                e -> (BuildConfigurationValue) e.getValue()));
  }

  /**
   * Returns the {@link Fragment}s and the {@link FragmentOptions} they require from Blaze's
   * runtime.
   *
   *
These are the fragments that Blaze "knows about", not necessarily the fragments in a {@link
   * BuildConfigurationValue}. Trimming, in particular, strips fragments out of actual
   * configurations. It's safe to assume untrimmed configuration have all fragments listed here.
   */
  private static ImmutableSortedMap<
          Class<? extends Fragment>, ImmutableSortedSet<Class<? extends FragmentOptions>>>
      getFragmentDefs(FragmentRegistry fragmentRegistry) {
    return fragmentRegistry.getAllFragments().stream()
        .collect(
            toImmutableSortedMap(
                FragmentClassSet.LEXICAL_FRAGMENT_SORTER,
                fragment -> fragment,
                fragment ->
                    ImmutableSortedSet.copyOf(
                        Comparator.comparing(Class::getName), Fragment.requiredOptions(fragment))));
  }

  /**
   * Converts {@link #findConfigurations}'s output into a list of {@link ConfigurationForOutput}
   * instances.
   */
  private static ImmutableSortedSet<ConfigurationForOutput> forOutput(
      ImmutableSortedMap<BuildConfigurationKey, BuildConfigurationValue> asSkyKeyMap,
      ImmutableSortedMap<
              Class<? extends Fragment>, ImmutableSortedSet<Class<? extends FragmentOptions>>>
          fragmentDefs) {
    ImmutableSortedSet.Builder<ConfigurationForOutput> ans =
        ImmutableSortedSet.orderedBy(comparing(e -> e.configHash));
    for (Map.Entry<BuildConfigurationKey, BuildConfigurationValue> entry : asSkyKeyMap.entrySet()) {
      BuildConfigurationKey key = entry.getKey();
      BuildConfigurationValue config = entry.getValue();
      ans.add(getConfigurationForOutput(key, config.checksum(), config, fragmentDefs));
    }
    return ans.build();
  }

  /** Constructs a {@link ConfigurationForOutput} from the given input daata. */
  private static ConfigurationForOutput getConfigurationForOutput(
      BuildConfigurationKey skyKey,
      String configHash,
      BuildConfigurationValue config,
      ImmutableSortedMap<
              Class<? extends Fragment>, ImmutableSortedSet<Class<? extends FragmentOptions>>>
          fragmentDefs) {

    ImmutableSortedSet.Builder<FragmentForOutput> fragments =
        ImmutableSortedSet.orderedBy(comparing(e -> e.name));
    for (Map.Entry<Class<? extends Fragment>, ImmutableSortedSet<Class<? extends FragmentOptions>>>
        entry : fragmentDefs.entrySet()) {
      fragments.add(
          new FragmentForOutput(
              entry.getKey().getName(),
              entry.getValue().stream().map(Class::getName).collect(toList())));
    }
    fragmentDefs.entrySet().stream()
        .filter(entry -> config.hasFragment(entry.getKey()))
        .forEach(
            entry ->
                fragments.add(
                    new FragmentForOutput(
                        entry.getKey().getName(),
                        entry.getValue().stream().map(Class::getName).collect(toList()))));

    ImmutableSortedSet.Builder<FragmentOptionsForOutput> fragmentOptions =
        ImmutableSortedSet.orderedBy(comparing(e -> e.name));
    config.getOptions().getFragmentClasses().stream()
        .map(optionsClass -> config.getOptions().get(optionsClass))
        .forEach(
            fragmentOptionsInstance ->
                fragmentOptions.add(
                    new FragmentOptionsForOutput(
                        fragmentOptionsInstance.getClass().getName(),
                        getOrderedNativeOptions(fragmentOptionsInstance))));
    fragmentOptions.add(
        new FragmentOptionsForOutput(
            UserDefinedFragment.DESCRIPTIVE_NAME, getOrderedUserDefinedOptions(config)));

    return new ConfigurationForOutput(
        skyKey.toString(),
        configHash,
        config.isHostConfiguration(),
        config.isExecConfiguration(),
        fragments.build().asList(),
        fragmentOptions.build().asList());
  }

  /**
   * Returns the configuration matching a hash prefix.
   *
   * @param configurations collection of configurations to search
   * @param configPrefix prefix or exact value of the matching configuration's hash
   * @throws InvalidConfigurationException if not exactly one configuration matches
   */
  private static ConfigurationForOutput getConfiguration(
      Collection<ConfigurationForOutput> configurations, String configPrefix)
      throws InvalidConfigurationException {
    ImmutableList<ConfigurationForOutput> matches =
        configurations.stream()
            .filter(config -> doesConfigMatch(config, configPrefix))
            .collect(toImmutableList());
    if (matches.isEmpty()) {
      throw new InvalidConfigurationException(
          String.format("No configuration found with ID prefix %s", configPrefix));
    } else if (matches.size() > 1) {
      throw new InvalidConfigurationException(
          String.format(
              "Configuration identifier '%s' is ambiguous.\n"
                  + "'%s' is a prefix of multiple configurations:\n "
                  + matches.stream().map(ConfigurationForOutput::checksum).collect(joining("\n "))
                  + "\n\n"
                  + "Use a sufficient prefix to uniquely identify one configuration.",
              configPrefix,
              configPrefix));
    }
    return Iterables.getOnlyElement(matches);
  }

  private static boolean doesConfigMatch(ConfigurationForOutput config, String configPrefix) {
    if (Ascii.equalsIgnoreCase(configPrefix, "host")) {
      return config.isHost;
    }
    return config.checksum().startsWith(configPrefix);
  }

  /**
   * Returns a {@link FragmentOptions}'s native option settings in canonical order.
   *
   *
While actual option values are objects, we serialize them to strings to prevent command
   * output from interpreting them more deeply than we want for simple "name=value" output.
   */
  private static ImmutableSortedMap<String, String> getOrderedNativeOptions(
      FragmentOptions options) {
    return options.asMap().entrySet().stream()
        // While technically part of CoreOptions, --define is practically a user-definable flag so
        // we include it in the user-defined fragment for clarity. See getOrderedUserDefinedOptions.
        .filter(
            entry ->
                !(options.getClass().equals(CoreOptions.class) && entry.getKey().equals("define")))
        .collect(
            toImmutableSortedMap(
                Ordering.natural(), Map.Entry::getKey, e -> String.valueOf(e.getValue())));
  }

  /**
   * Returns a configuration's user-definable settings in canonical order.
   *
   *
While actual option values are objects, we serialize them to strings to prevent command
   * output from interpreting them more deeply than we want for simple "name=value" output.
   */
  private static ImmutableSortedMap<String, String> getOrderedUserDefinedOptions(
      BuildConfigurationValue config) {
    ImmutableSortedMap.Builder<String, String> ans = ImmutableSortedMap.naturalOrder();

    // Starlark-defined options:
    for (Map.Entry entry : config.getOptions().getStarlarkOptions().entrySet()) {
      ans.put(entry.getKey().toString(), String.valueOf(entry.getValue()));
    }

    // --define:
    for (Map.Entry<String, String> entry :
        config
            .getOptions()
            .get(CoreOptions.class)
            .getNormalizedCommandLineBuildVariables()
            .entrySet()) {
      ans.put("--define:" + entry.getKey(), Verify.verifyNotNull(entry.getValue()));
    }
    return ans.buildOrThrow();
  }

  /**
   * Reports the result of blaze config --dump_all and returns the appropriate command
   * exit code.
   */
  private static BlazeCommandResult reportAllConfigurations(
      ConfigCommandOutputFormatter writer,
      ImmutableSortedSet<ConfigurationForOutput> configurations) {
    writer.writeConfigurations(configurations);
    return BlazeCommandResult.success();
  }

  /**
   * Reports the result of blaze config and returns the appropriate command exit code.
   */
  private static BlazeCommandResult reportConfigurationIds(
      ConfigCommandOutputFormatter writer,
      ImmutableSortedSet<ConfigurationForOutput> configurations) {
    writer.writeConfigurationIDs(configurations);
    return BlazeCommandResult.success();
  }

  /**
   * Reports the result of blaze config <configHash> and returns the appropriate
   * command exit code.
   */
  private static BlazeCommandResult reportSingleConfiguration(
      ConfigCommandOutputFormatter writer,
      CommandEnvironment env,
      ImmutableSortedSet<ConfigurationForOutput> allConfigurations,
      String configHash) {
    env.getReporter().handle(Event.info(String.format("Displaying config with id %s", configHash)));
    try {
      writer.writeConfiguration(getConfiguration(allConfigurations, configHash));
      return BlazeCommandResult.success();
    } catch (InvalidConfigurationException e) {
      env.getReporter().handle(Event.error(e.getMessage()));
      return createFailureResult(e.getMessage(), Code.CONFIGURATION_NOT_FOUND);
    }
  }

  /**
   * Reports the result of blaze config <configHash1> <configHash2> and returns the
   * appropriate command exit code.
   */
  private static BlazeCommandResult reportConfigurationDiff(
      ImmutableSortedSet<ConfigurationForOutput> allConfigs,
      String configHash1,
      String configHash2,
      ConfigCommandOutputFormatter writer,
      CommandEnvironment env) {
    env.getReporter()
        .handle(
            Event.info(
                String.format(
                    "Displaying diff between configs" + " %s and" + " %s",
                    configHash1, configHash2)));
    try {
      ConfigurationForOutput config1 = getConfiguration(allConfigs, configHash1);
      ConfigurationForOutput config2 = getConfiguration(allConfigs, configHash2);
      Table<String, String, Pair<Object, Object>> diffs = diffConfigurations(config1, config2);
      writer.writeConfigurationDiff(getConfigurationDiffForOutput(configHash1, configHash2, diffs));
      return BlazeCommandResult.success();
    } catch (InvalidConfigurationException e) {
      env.getReporter().handle(Event.error(e.getMessage()));
      return createFailureResult(e.getMessage(), Code.CONFIGURATION_NOT_FOUND);
    }
  }

  /**
   * Starlark options don't have configuration fragments. This is just to keep their output
   * consistent with native options, i.e. to include "user-defined" section in the output list.
   */
  private static class UserDefinedFragment extends FragmentOptions {
    static final String DESCRIPTIVE_NAME = "user-defined";
    // Intentionally empty: we read the actual options directly from BuildOptions.
  }

  private static Table<String, String, Pair<Object, Object>> diffConfigurations(
      ConfigurationForOutput config1, ConfigurationForOutput config2) {
    Table<String, String, Pair<Object, Object>> diffs = HashBasedTable.create();

    for (String fragmentName :
        Sets.union(config1.fragmentOptionNames(), config2.fragmentOptionNames())) {
      FragmentOptionsForOutput options1 = config1.fragment(fragmentName);
      FragmentOptionsForOutput options2 = config2.fragment(fragmentName);
      diffs.row(fragmentName).putAll(diffOptions(options1, options2));
    }
    return diffs;
  }

  private static Map<String, Pair<Object, Object>> diffOptions(
      @Nullable FragmentOptionsForOutput options1, @Nullable FragmentOptionsForOutput options2) {
    Set<String> optionNames1 = options1 == null ? ImmutableSet.of() : options1.optionNames();
    Set<String> optionNames2 = options2 == null ? ImmutableSet.of() : options2.optionNames();
    Map<String, Pair<Object, Object>> diffs = new HashMap<>();

    for (String optionName : Sets.union(optionNames1, optionNames2)) {
      String value1 = options1 == null ? null : options1.getOption(optionName);
      String value2 = options2 == null ? null : options2.getOption(optionName);

      if (!Objects.equals(value1, value2)) {
        diffs.put(optionName, Pair.of(value1, value2));
      }
    }

    return diffs;
  }

  private static ConfigurationDiffForOutput getConfigurationDiffForOutput(
      String configHash1, String configHash2, Table<String, String, Pair<Object, Object>> diffs) {
    ImmutableSortedSet.Builder<FragmentDiffForOutput> fragmentDiffs =
        ImmutableSortedSet.orderedBy(comparing(e -> e.name));
    diffs
        .rowKeySet()
        .forEach(
            fragmentName -> {
              ImmutableSortedMap<String, Pair<String, String>> sortedOptionDiffs =
                  diffs.row(fragmentName).entrySet().stream()
                      .collect(
                          toImmutableSortedMap(
                              Ordering.natural(),
                              Map.Entry::getKey,
                              e -> toNullableStringPair(e.getValue())));
              fragmentDiffs.add(new FragmentDiffForOutput(fragmentName, sortedOptionDiffs));
            });
    return new ConfigurationDiffForOutput(configHash1, configHash2, fragmentDiffs.build().asList());
  }

  private static Pair<String, String> toNullableStringPair(Pair<Object, Object> pair) {
    return Pair.of(String.valueOf(pair.first), String.valueOf(pair.second));
  }

  private static BlazeCommandResult createFailureResult(String message, Code detailedCode) {
    return BlazeCommandResult.failureDetail(
        FailureDetail.newBuilder()
            .setMessage(message)
            .setConfigCommand(FailureDetails.ConfigCommand.newBuilder().setCode(detailedCode))
            .build());
  }
}

redpajama_set_name: RedPajamaGithub


text:
» Cricket and the World-System, or Continuity, "Riskless Risk" and Cycli...
The Rites of Cricket and Caribbean Literature
Westall, C. L., 2 Jul 2021, Palgrave Macmillan. (New Caribbean Studies)
World-Literary Resources and Energetic Materialism
Westall, C. L., 31 Aug 2017
Editorial in Journal of Postcolonial Writing
'But it's more than a game. It's an institution': Cricket, Class and Victorian Britain's Imperial Englishness
Westall, C. L., May 2016, The Making of English Popular Culture . Routledge, p. 32-46
Capitalizing on English Literature: Disciplinarity, Academic Labor and Postcolonial Studies
Westall, C. L., 2015, What Postcolonial Theory Doesn't Say. Bernard, A., Elmarsafy, Z. & Murray, S. (eds.). Routledge, p. 13-29 (Routledge Research in Postcolonial Literatures).
The Public on the Public: The British Public as Trust, Reflexivity and Political Foreclosure
Westall, C. L. & Gardiner, M., 2015, Palgrave Macmillan.
Journal of Postcolonial Writing (Journal)
Ziad Magdy Elmarsafy (Reviewer)
Britain Through Muslim Eyes: An Interview with Claire Chambers
Chambers, C. G. & Valassopoulos, A., 4 Jun 2018
Article in Journal of Postcolonial Writing
A comparative approach to Pakistani fiction in English
Chambers, C. G., May 2011
Another Black September? Palestinian Writing After 9/11
Bernard, A. L., Jul 2010
Cricket and the World-System, or Continuity, "Riskless Risk" and Cyclicality in Joseph O'Neill's Netherland
Westall Netherland JPW Manuscript for PURE
Claire Louise Westall
Journal of Postcolonial Writing
Accepted/In press - 14 Apr 2016
Published (current) - 20 Jul 2016
In Joseph O'Neill's Netherland (2008), cricket is the dominant thematic mechanism, and anchoring allegorical device, through which the novel encodes the capitalist world-system, including the ways in which structural continuity and "riskless risk" are glorified as the neo-liberal conditions for a cosmopolitan class of white international workers, in the face of, and directly at the expense of, their racialized, economic and cricketing "Other". This encoding renders visible the "systemic cycles of accumulation" that characterize the history of capitalism. Yet the novel goes to extreme lengths to hold off, seemingly as perpetual delay, the failure-filled future consequences of its own leaked revelations. Hence, it is only by resituating Netherland in a world-systemic frame that critical sense can be made of Hans's feigned cricketing bildung and the novel's Dutch-English-American journey of cyclical continuity.
This is an author-produced version of the published paper. Uploaded in accordance with the publisher's self-archiving policy. Further copying may not be permitted; contact the publisher for details.
Joseph O'Neill, Netherland, New York, continuity, cricket, risk, the British Empire, the Caribbean, the Dutch Republic, world-system