text:
Team captains have a variety of responsibilities.
They are outlined in the Captains Handbook as are rules on membership, conduct and safety.
St. Cloud State students, staff and faculty, are eligible to participate in the Intramural Sports Program on campus.
Intramural Sports are limited to a specific number of team entries. Leagues will be filled on a first-come, first-serve basis.
For your team to register for Intramural Sports, you must completely fill out an entry form for the sport and turn it into the Guest Services Desk before the registration deadline. In addition, a representative from your team MUST attend the informational captains meeting.
The team representative must fill out a complete roster during the registration period.
For your roster to be processed, it must have the participant's full name and phone number.
All teams must have a team name when the entry is submitted.
The Coordinator of Intramurals reserves the right to censor team names.
Duties of the captain
Each team should appoint a team captain who will be responsible for all matters that concern the Intramural Sports Program.
The individual selected is responsible for the eligibility rules of that sport, the playing rules and the administrative rules of the program.
The team captain is responsible for entering the team for league play and filling out the entire roster, as well as keeping team members informed of the dates and times of all of their team's scheduled contests (including playoffs).
The team captain is expected to cooperate fully with the game officials, scorekeepers, Program Assistants and office staff in regards to lineups, scores, protests, injuries, ejections, team conduct and any other issues that might arise throughout their participation in the program.
Informational Captains Meetings
There must be a representative from each team present at the informational captain's meeting pertaining to the sport in which your team has registered to participate in.
If a team fails to have a representative present, they are subject to being dropped from the league, will not be allowed to participate in playoffs and are subject to paying a 'missed meeting fine.'
At the informational meeting, teams will select what league they would like to participate in.
Rules, policies and procedures will be discussed at all informational captain's meetings.
Any full or part-time student, faculty/staff is eligible to participate in the Intramural Sports Program, provided that individual is enrolled during that semester/block at St. Cloud State or St. Cloud Technical and Community College.
The number of faculty or staff allowed on an Intramural team is unlimited.
A participant is not eligible to compete in an Intramural sport unless all pertinent information is provided on the official roster.
Participants must participate in one (1) regular season contest to be eligible for the playoffs.
Members of Varsity and Junior Varsity Teams
Members of varsity or junior varsity intercollegiate teams at St. Cloud State (defined as: anyone who is on the varsity roster for the current academic year, including seniors who have used up their eligibility in that school year) are ineligible to participate in that same or similar sport during that sport season.
(Similar sports include volleyball to volleyball, soccer to soccer, basketball to basketball, baseball/softball to softball, football to flag football, and ice hockey to ice hockey).
However, when those sports are NOT in season, members of varsity or junior varsity intercollegiate teams may participate with the following restrictions:
Basketball — 1 current intercollegiate member per intramural team
Volleyball — 1 current intercollegiate member per intramural team
Soccer — 1 current intercollegiate member per intramural team
Flag Football — 1 current intercollegiate member per intramural team
Hockey — 1 current intercollegiate member per intramural team
Any individual who is classified as a professional athlete under AAU rules shall NOT be eligible to participate in that same or similar sport in which they competed as a professional for a period of one year after their last professional season.
Only one past professional athlete allowed per roster.
Members of Sport Club Teams
Members of sport club teams are eligible to participate in that same or similar sport providing no more than two club members participate on an Intramural team.
A sport club member is any individual listed on the official club's roster and practices and/or competes with that club team.
Playing on Two Teams
NO player may participate as a member of two teams in the same sports season. However, a player may compete on one men's or women's team, and one co-rec team.
Any player found playing on two teams will be ineligible for any further competition in that sport and the team(s) that the players participated on will be forced to forfeit each game that the illegal player checked in to.
If the illegal player checked in to more than one game for each team, the team(s) will be removed from the league because of reaching their 2 forfeit limit.
If that player is found playing on two teams again in any sport for that block, that player will be suspended from participating in the Intramural Sports Program indefinitely. Teams will not be refunded any fees if any ineligible situations occur.
Any Intramural staff, or participant may report the name(s) of any individual(s) found playing on two teams in the same sport season.
Playing With Ineligible Players
NO team may participate as a member of the Intramural program in any Intramural sport season with players that are ineligible.
Ineligible players are those players who are not a SCSU Student, Staff or Faculty member; who are students/staff/faculty who have been ejected previously and have not completed their reinstatement process; or are any participants breaking Intramural eligibility guidelines.
Any ineligible player found playing on any team will be ineligible for any further competition in that sport and the team(s) that the players participated on will be forced to forfeit each game that the ineligible player checked in to.
If the ineligible player checked in to more than one game for each team, the team(s) will be removed from the league because of reaching their 2 forfeit limit.
Ineligibility Ruling
If you or your team members break any of the above-mentioned rules, the games/matches in which you participated in will be ruled as a forfeit.
What You Need To Participate
No ID = No Play! No Exceptions!
All students, staff and faculty are required to present their St. Cloud State or St. Cloud Tech ID card to the Intramural Staff prior to the contest starting.
In the event that you lose your St. Cloud State or St Cloud Tech ID card, you will NOT be allowed to participate. We will NOT accept a temporary ID, drivers license or any other form of identification.
Defaults/Forfeits/Rescheduled Contests
If an Intramural team or individual knows that they will not be able to attend a scheduled contest, they are asked to call the Intramural Sports office, 320-308-3923, prior to NOON on game day to report their absence.
If a team contacts the Intramural office prior to noon, the missed game will be will counted as a default, not a forfeit.
Your team will receive a loss, but not a forfeit for the missed game and will not be charged a re-entry fee.
Your team will also receive an 'A' for your sports conduct for that missed game.
Forfeits
An Intramural Sports team not ready to play a contest within five (5) minutes of the scheduled contest will automatically forfeit that contest.
In case of an unavoidable delay, the starting time may be extended at the discretion of the Coordinator of Intramurals.
An Intramural Sports staff member will contact your team following your forfeit and alert your team of the reinstatement procedures, consisting of a $5 re-entry fee that must be paid within 24 hours of the forfeit and the fact that your team will receive a 'C' for your sports conduct rating for that game.
Once a team receives two forfeits, they are automatically dropped from the league.
Rescheduled Contests/Conflicts
In most cases, the Intramural Sports Office will make up rained out games for outdoor sports unless unavoidable circumstances arise.
The Intramural Sports Office will not accept individual requests from teams or individuals to reschedule contests. However, emergency cases will be considered on an individual basis.
Requests for rescheduled games must be submitted to the Coordinator of Intramurals at least one day in advance of the time originally scheduled. If the request is approved, both teams will be notified as to the alternate playing date. If the request is not approved, the game will be played as originally scheduled.
Conflicts will be considered before the season and playoff schedules are created.
We will TRY to accommodate your conflict to the best of our ability, but will not guarantee it. Your team MUST be ready to play at your assigned game time and date.
Playoffs/Awards/Hall of Champs
At the completion of the regular season, a single elimination tournament for all teams in each division will be played to determine Intramural Champions for each sport.
To be eligible for playoffs, you MUST have played in at least one regular season game. The tournament brackets will be posted on our website.
Your team is responsible for knowing when you are scheduled to play. We will not be able to accommodate scheduling changes once the tournament has begun.
Intramural Championship T-shirts will be presented to all that win their tournament championships.
Awards will be given to winners of individual events and team tournaments as well.
Awards will be distributed to teams at the completion of all championship contests and will be based on award limitations, which have been predetermined for each event.
All members of championship teams must have played in at least one game to receive an award.
Jewelry/Pockets/Language
No participant is allowed to participate in Intramural Basketball or Flag Football with pockets in their shorts.
Participants found with pockets will be immediately removed from competition and will not be allowed to return until their shorts are changed.
Taping, sewing or turning shorts inside out are not allowed.
Any shorts with belt loops and tear away pants are also not allowed.
Shirts with front pockets or hoods are also not allowed.
Any use of profane language at any time before, during or after Intramural activities is prohibited. You will be penalized based on our policies per specific sport.
If at any time your language is directed at an Intramural staff member, you will be ejected from your contest and will follow our ejection procedures.
Liabilities and Injuries
Participation in the St. Cloud State Intramural Sports Program is completely voluntary. Each individual participating in the Intramural Sports Program assumes the risk for any harm or injuries incurred while participating.
Therefore, it is strongly suggested that each individual has sufficient health insurance coverage through their own personal insurance.
All participants will be required to sign a 'participation waiver' prior to competing in any Intramural contest. Refusal to sign the waiver will result in not being allowed to participate.
All injuries incurred while participating in the program should be reported immediately to the Intramural Sports Program Assistant on duty. An injury report will be completed for all injuries and will be kept on file.
Intramural equipment is available for check-out prior to the start of the first scheduled contest for each night the Equipment Room in the Halenbeck Fieldhouse.
A current SCSU ID card is needed to check-out all equipment by a team representative.
If equipment is not returned, a hold will be put on that individual's record, a fee will be charged and you will be unable to register for classes, compete in any further Intramural activities or enter any Sports Facility on campus until the individual has cleared his/her delinquent account with the Intramural Sports Office.
Rules of Conduct/Suspension
Any person, who commits, attempts to commit or aids others in committing any of the following acts of misconduct shall be subject to disciplinary procedures by the Intramural Sports Program.
Team captains are responsible for the conduct of their players and spectators, and therefore are subject to the same disciplinary actions as their players.
Any player that verbally abuses or threatens an official, supervisor or any other member of the Intramural staff will be suspended a minimum of one game and will be subject to further disciplinary action upon review of the incident by the Coordinator of Intramurals.
Any player that hits/strikes, attempts to hit/strike, physically threatens, or causes bodily harm to an Intramural employee will be suspended from the Intramural program for the period of time listed under F and will be subject to further disciplinary action upon review of the incident by the Intramural Coordinator.
Any player that hits/strikes, attempts to hit/strike, physically threatens, or causes bodily harm to another player will be suspended from the Intramural program for a period of one year and will be subject to further disciplinary action upon review of the incident by the Intramural Coordinator. Any severe incidents will warrant suspension of that individual from the Intramural Sports Program indefinitely.
Any time more than 1 member of a team is involved in a fight that team will forfeit that contest in which the fight occurs and may be suspended from that sport for the remainder of the season or tournament. All team members will be subject to further disciplinary action upon review of the incident by the Intramural Coordinator.
If a player is ejected from a game, he/she is suspended indefinitely from all Intramural competition, effective immediately, pending an interview with the Intramural Coordinator who shall determine the length of the suspension period. These suspensions may carry these disciplinary actions:
Player verbally abuses an official or participant – Minimum of one additional game
Threatening behavior (verbal or physical) toward a player or spectator – Minimum of one month
Player or spectator makes physical contact in a threatening manner (battery) toward another player or spectator – Minimum of three months
Threatening behavior (verbal) toward an official – Minimum of six months
Player or spectator makes physical contact in a threatening manner (battery) toward an official – Participation in the Intramural Sports Program is terminated for your SCSU duration.
The Intramural Sports Coordinator may suspend a participant, for good reason not covered above, from intramural competition.
The Intramural Sports Coordinator also reserves the right to adjust any of the above lengths of suspension as he sees fit.
Ejections
Any participant, coach, or spectator who is ejected from any Intramural Sport sponsored intramural activity, regardless of the reason, is SUSPENDED INDEFINITELY from participation in all sponsored Intramural Sports events until a petition is turned in and reinstatement is granted by the Intramural Coordinator.
Ejected participants must serve the suspension in the sport that he/she is ejected in and will be suspended from all other Intramural contests (other sports) until the suspension is served in the sport he/she was ejected in.
Individuals who have been suspended and who wish to again become eligible to participate in Intramural Sports Program at St. Cloud State must petition, in writing, to the Intramural Coordinator at the Intramural Sports Office, for a reinstatement hearing within 48 hours of your ejection.
If you choose to not petition at the present time you will forfeit your current eligibility. You will need to petition for your reinstatement to EVER participate in the program in the future.
This petition must be typed and must include:
A description of the incident(s) leading to the ejection.
A rationale for actions of the participant/coach/spectator.
A rationale for why reinstatement should be granted.
A current mailing address, and local phone number, e-mail address and student ID.
Alcohol, Tobacco and Drugs
Alcohol/Tobacco/Drugs are not permitted on St. Cloud State University property. This includes chewing tobacco and applies to all players and fans.
Any alcohol/tobacco/drugs found in these areas will result in Public Safety being called. This is a campus policy and any team found to be in violation may forfeit the remainder of the season. Smoking during outdoor Intramurals is also not allowed.
Also, people thought to be impaired will be asked to vacate the Intramural location. This also applies to fans. Any person not cooperating when asked will cause his/her team to forfeit the game and face disciplinary action at the discretion of the Coordinator of Intramurals.
Upon receipt of the petition for reinstatement a hearing will be scheduled with the participant and the Intramural Coordinator. A supervisor and/or official(s) may also be present. Based on the written petition and reinstatement hearing, a decision will be rendered generally within one working day.
Due to risk and liability, Intramural Sports reserves the right to ask participants to remove any and all head wear during Intramural activities.
Bandanas that are tied in a knot are never allowed.
Hats are not allowed for any indoor Intramural activity and are only allowed during Intramural Softball season.
Technical Fouls (Basketball)
The following situations may result in a technical foul:
Illegal substitution; subbing without reporting into game.
Swearing, delay of game, unsportsmanlike conduct, or challenging the officials.
Swearing: The use of profane language is not necessary and will not be permitted during Intramural Sports activities at St. Cloud State. Excessive profanity is unacceptable and will be penalized. A technical foul will also be assessed to any player that displays poor sportsmanship and/or uses loud, blatant swearing.
If the swearing is loud enough for the official to hear, it will be called as a technical
Interference or verbal abuse from the team bench or crowd supporting that team.
Illegal equipment (Jewelry/Pockets).
Technical fouls are not limited to these situations alone.
If a player receives 3 technical fouls in the season/league (including playoffs) that player will be SUSPENDED FROM THE REMAINDER OF THAT SEASON/LEAGUE! (Suspension is up to the discretion of the Intramural Coordinator)
If a team receives 3 technical fouls in the same game (including playoffs) that game will be automatically FORFEITED!
Technical fouls will be recorded and totaled in the Intramural office.
Yellow/Red Cards (Soccer)
Any participant who commits a hard foul/penalty in Intramural Soccer will receive an automatic yellow card. This yellow card will serve as a warning to that individual.
If that player commits another hard foul/penalty, he/she will receive a second yellow card, which equals a red card.
Once a participant is issued a red card, he/she will be automatically ejected and must follow the Intramural reinstatement procedures.
Players committing an act that deserves an automatic ejection will be given a red card and do not have to have a previous yellow card to be ejected.
Weather/Questions/Concerns
No weather cancellation decision will be made until 2 p.m.
Please do not call the Intramural office until after 2 p.m. if you are wondering if your outdoor contest will be held.
In the case of inclement weather or if you have any general questions, comments or concerns regarding the Intramural Sports Program at St. Cloud State please feel free to call Intramurals at 320-308-3923. We will do our best to assist you with any and all of your questions or concerns.
Add/Delete and Protest Procedures
Add/Delete
In order to add/delete members to/from a team, an add/delete form must be submitted to the Intramural Sports Office by 4:00pm on the day of the scheduled contest. Add/delete forms can be found at the Guest Services Desk and submitted at the Intramural Sports Office at 102E Halenbeck Hall.
You will need to provide the players full name, ID number and phone number. When filling out an add/delete form, all information that is requested must be filled out! If information that is requested is missing, your form will not be processed.
The additional member will need to see the Intramural Program Assistant before the start of their first contest to sign the participation waiver.
Individuals are allowed to drop from their current team and add to another team at any time during the regular season. The individual MUST officially drop from the current team before adding to a new team. The individual must follow this procedure when dropping from one team and adding to another team.
Players are NOT allowed to be added after the regular season is over. All participants must compete in at least one regular season game to be eligible to participate in the playoffs with that team.
The purposes of the Intramural protest procedures are to provide a system of checks and balances for the team waging a protest. A team or individual may not present a protest based on an official's call. Judgment calls are NOT protestable. Only rule misinterpretations or ineligible participant situations may be protested.
The following steps provide necessary information to lodge a protest and describe the process, which must be followed if there is a disagreement in, or unsatisfactory resolution of the conflict or event.
Step 1 – The team captain of the protesting team must announce to the official at the time of the incident the intent to protest a ruling. The game will then be stopped, a protest form will be filled out indicating the reason for the protest, time remaining and score. The game will then be re-started and finished and then after the contest, the protest form will be looked over by the Coordinator of Intramurals.
Step 2 -The Coordinator of Intramurals, after investigation of the facts and viewpoints concerning the incident will make a decision on the protest within 5 working days of the protest. The Coordinator of Intramural's ruling is FINAL!
Sports Conduct
At the conclusion of all Intramural games/matches, the game officials will rate each team based on the sports conduct exhibited for that game/match. Sports conduct ratings are very important and will be completed correctly and fairly due to the fact that the future play of the team is dependent on the sports conduct ratings that they receive throughout the season. Teams MUST receive a C (3) as their sports conduct average to advance to playoff competition regardless of the team's record.
The following sports conduct rating policy has been put into place to promote good sportsmanship and to provide for an enjoyable recreational experience for participants, officials, spectators and staff.
A (5) Excellent
Exemplary sports conduct towards participants and officials. Players cooperate fully with officials and other team members and are respectful of opponents and officials at all times. The captain calmly converses with officials about rules interpretations and calls and is in the full control of their teammates.
B (4) Good
No problems with team/team members. Good sports conduct exhibited towards participants and officials. Players are respectful of opponents and officials except for one or two minor instances. Players verbally complain about some decisions made by officials and/or show minor dissension.
C (3) Average
Occasional minor problems with team/team members. Average sports conduct exhibited toward participants and officials. Players were generally respectful of participants and officials but on a number of occasions are disrespectful of participants and officials. The captain exhibits acceptable control over their teammates, but is in control of him or herself.
D (2) Below Average
Continual problems with team/team members. Below average/poor sports conduct exhibited toward participants or officials. Sports conduct needs improvement. One or more player(s) is occasionally/frequently disrespectful of participants and officials. Teams frequently/constantly comment to the officials and/or opposing team from the field and/or sidelines. Abusive language from team.
F (1) Very Poor/Unacceptable
Continual abuse of participants/staff from team/team members.
Very poor/unacceptable sports conduct exhibited towards participants and officials.
Players behaving in a very poor manner towards opponents and/or officials.
Total disrespect toward participants/staff. More than one player is disrespectful of participants and officials on a regular basis or more than one player is regularly disrespectful of participants and officials.
Team is completely uncooperative.
Captain has no control over teammates and/or themselves.
Any/all types of fights/altercations may result in an F sportsmanship rating.
Very poor sports conduct will not be tolerated and will result in a meeting with the Coordinator of Intramurals and Sport Clubs.
Any team causing a game to be a forfeit cannot receive above a C (3) sportsmanship rating for that game.
Any team receiving an F (1) for sportsmanship in any contest will be immediately and indefinitely suspended from competition in any and all Intramural contests until the entire team meets with the Coordinator of Intramurals and Sport Clubs to discuss the conduct that was portrayed in the contest in which the team received an F for their sportsmanship rating. All members of the team, that were present at the time of the F, must schedule a meeting with the Coordinator of Intramurals and Sport Clubs and must all be present at the time of the meeting to discuss their individual and team's future within the Intramural program.
After the meeting, the Coordinator of Intramurals and Sport Clubs will then determine the length to which the team, or any individual members of said team, will remain suspended from the league. This determination will be given, in writing, to the captain of said team within 24 hours of the meeting.
Also after the meeting, if the team is allowed back into competition, the team MUST receive C (3) sportsmanship ratings or higher [B (4) or A (5)] in EACH of the team's remaining games in order to be eligible for playoff competition.
Free Agents, Illegal Players, False IDs
All Intramural sports have a Free Agent list. This list is for any participants who would like to play on a team but don't have one put together.
A participant who would like to be put on this list should to go the Guest Services Desk at the Student Recreation Center and fill out an Add Form – just put FREE AGENT where it asks for your team name. Free Agents are then asked to attend the captain's meeting for the sport they are looking to play so that they can get picked up and put onto a team at that meeting.
If Free Agents are not picked up at the captain's meeting, an email will be sent out to all team captains when additional Free Agents come in alerting teams of players that are looking to be added to teams.
Intramurals does NOT guarantee any Free Agents will be added to teams, but our office will try out best to accommodate your needs.
Illegal Players
Any team caught with an Illegal Player playing on their team will receive an automatic forfeit and a 'C' sports conduct rating for that contest.
Several examples of Illegal players include:
A player not on the team's roster
A player using a false ID
A player that is on multiple teams in the same sport
Too many Sports Club members on a team
Falsification of Identity
Any participant falsifying their identification will be immediately suspended indefinitely from all future Intramural activities and suspended from entering any/all Sports Facilities on campus for 30 days.
This participant's ID will also be confiscated and held until that participant meets with the Director of Campus Recreation.
The team for which the person checked in illegally will be given an immediate forfeit and an automatic C sports conduct rating.
Intramural Sports is looking for a few good men and women to work as Officials and ID Checkers for many of our sports. Officials and ID Checkers are needed for basketball, flag football, hockey, soccer, softball and volleyball.
Background in athletics preferred, but no officiating experience is necessary. Training will be provided for those wishing to join our Intramural Staff.
Stop after the meeting and ask about joining the Intramural staff!


text:
Here Be Answers > What does SOS stand for? When was the first SOS message relayed and by whom?
What does SOS stand for? When was the first SOS message relayed and by whom?
Sea voyages are pretty risky affairs. Before the late 19th century they were more so because the ships at sea were pretty much isolated since there was no means of communication with the land. It took some time to know if a ship had got into an accident or so.
With the invention of wireless telegraph, it became possible to establish a communication system between the ships and the land. The telegraph system uses Morse code for communication which is a way of representing letters using dots and dashes. There were developed some distress signals to inform if the ship was in any trouble and in need of assistance. The first use of telegraph for assistance was in 1899, when two ships collided with each other near the English coast. The SOS message is such a distress signal, developed in early years of 20th century.
The predecessor of SOS was CQD, introduced by Marcony Company. It was interpreted as short for 'Come Quick Danger' but was actually derived from the code for general calls in land wire, CQ. The D meant distress. The signal translated to 'All stations, Distress'. CQD was favored by many even after the introduction of SOS, and it stayed for years until fading into history.
SOS is often interpreted by the public to mean phrases like 'Save Our Ship', 'Save Our Souls' and 'Send Out Succor', however it is not so. It has no specific meaning, as attested by the Marconi Yearbook of Wireless Telegraphy and Telephony itself in 1918. The SOS was selected as the code simply for its easy representation. The signal is three dots, followed by three dashes and three dots again, without letter spacing. It is also the only Morse code signal with nine elements.
Even though it was popularized by Marconi Company, SOS was first introduced by Germany in 1905. It was adopted as the standard distress signal by the international maritime community at the second International Radiotelegraphic Convention in Berlin in 1906, effective from 1st July, 1908.
Another popular misconception among public is that Titanic was the first ship to send an SOS message. However, it is a myth since the first SOS transmission was on June 10, 1909, from RMS Slavonia. Titanic, upon its sinking in 1912, used both CQD and SOS signals intermixed. Later, with the progress of technology, new signals and better communication methods arrived. SOS continued to be a standard distress signal until its replacement in 1999 with the Global Maritime Distress and Safety System.
Which is the port and which the starboard side of ship?
Who was the first person to circumnavigate the world? Was he alone?
This entry was posted in Uncategorized and tagged World, World's first on January 28, 2016 by admin.
← Is it true that humans have more than five senses? Why do some people have dimples? →

redpajama_set_name: RedPajamaCommonCrawl


text:
Sikh Calendar 2020
Sikh Videos - Beginner
Sikh videos - Intermediate
Showing results for tags 'controversy'.
GUPT | ANONYMOUS
GURBANI | SCRIPTURES | REHAT | HISTORY
POLITICS | MEDIA | FEEDBACK | LIFESTYLE
HEALTH | FITNESS | DIET
Agree to Disagree
SEWADARS
Sant Hari Singh Randhawa Wale Controversy
GurburAkal posted a topic in WHAT'S HAPPENING?
Description Fight at Gurdwara Sahib Dukh Niwaran, Surrey BC Canada on June 3, 2015. Unlike the videos the anti-panthic people have posted, this one is NOT tampered with and is completely unedited. If you skip to 16:48 you will see the Sher-E Punjab 1550 loyalists start causing problems. 4 women and 6-7 men. (Please note that this radio station is completely against anything related to Gurmat. They have been causing problems for panthic-minded pracharaks for many years). For many days they had been doing nindia of Sant Baba Hari Singh Randhawa Wale on the radio. When callers would call in to say, "No, you are the ones who are wrong", they would cut the phone on them. They came to the Gurdwara Sahib right before Baba Ji's katha, with a list of questions, and demanded that Baba Ji provide answers to them. They were told that after katha they would get the opportunity to sit with Baba Ji and he would answer all the questions that they had for him. The anti-panthic group agreed, however, in the darbar, IN GURU SAHIB'S HAZOORI, they began creating a commotion. These people have no respect for Guru Sahib. They interrupted the Dhadi Jatha, and during Baba Ji's katha they just lost control and began acting like wild animals. Police had to enter the darbar with their shoes on to escort the troublemakers out. Even after the katha, during the QA session, they continued to cause drama. One of the ladies questioning Baba Ji would not even allow them to respond! They called in PTC news as well, who only took the input of the "feminazi" ladies. They ignored the rest of the sangat and Baba Ji. The ladies also pushed some elderly women from the sangat who had just come to listen to katha. On Shere-E Punjab 1550 radio that evening, the same ladies continued to spread venom and lied about the events that unfolded at the Gurdwara Sahib. When eye-witnesses would call in to reprimand them for lying and doing nindia, they would cut the phone on them. It is clear from the video that the anti-panthic media people only came to the Gurdwara to cause problems. They were not interested in receiving answers. They recruited a bunch of other "feminazi"-minded ladies to protest alongside them, using an old katha clipping of Baba Ji as an excuse to cause a commotion. Their actual target was Baba Ji because they are a student of the Damdami Taksal and are a Pro Dasam Granth Pracharik. Their only purpose was to give Panthic-minded Gursikhs, Sampradayas, and the Guru Ghar a bad name and decrease the Sharda of the general Sangat.
randhawa
sikhi
Hemkunt Sahib
Lion of Punjab posted a topic in WHAT'S HAPPENING?
Can some body direct me too any katha on hemkunt sahib ? I have noticed people question the significance of hemkunt sahib in Sikhism .
Dasam Granth: A Historical Journey Through Rare Manuscripts And Relics Of The Khalsa - Video By Gs Mann
taran0 posted a topic in GURBANI | SCRIPTURES | REHAT | HISTORY
Gurinder Singh Mann UK goes through a number of historical manuscripts and relics in relation to Sri Dasam Granth. Covering a swords, a breastplate and a copper plate of Guru Gobind Singh. His presentation also reveals the first English translation of Sri Bachitra Natak. Visit www.sikhscholar.co.uk
The Final Solution To Casteism In Punjab, Eventually India.
Singh559 posted a topic in WHAT'S HAPPENING?
Well I remember talking to my chachaji a while back about his meeting with the Singh who wrote the book Gandhi : Behind the Mask of Divinity (US army Colonel G.B. Singh). What G.B. Singh told was he came from a family that was very much a Brahmanistic thought. If i'm not mistaken (don't quote me on this) part of his family was Sikh and part was Hindu Brahman and he used to follow Gandhi. To cut a long story short, he understands the caste system structure and he sees how it's still a very powerful tool that makes India 'go'. His claim to bring the Sikh population up again is to do what Sikhs have been doing in the past, to empower and help the needy. In today's terms, just like in history, it's the lowest castes. The Gurus abolished casteism and even fought with the pahari rajas because they Hindu hill rajas felt they needed to enforce casteism. Despite the caste system being formally and practically abolished along with the implementation of complete gender equality by the Guru Sahiban, today we see this backward tradition crept back into the psyche of the Sikhs of surprisingly not only Punjab, but even in Sikhs living abroad. How can we help bring an end to casteism? Help empower the lower castes (Dalits and other lowe casts) in Punjab by giving them necessary supplies which include: food, medicine, educational support and establish places where people can come and listen to REAL Sikh parchar if they want to (parchar of Sach). The SGPC is corrupted in laalach and no one in Punjab really cares to an extent to organize something like this and those that do care aren't in positions where they can empower themselves to bring such a movement. G.B. Singh said if he did this he knows he would be banned from India and sent back to the USA. The reason why this isn't happening is because groups are trying to cause further division and fighting among Sikhs so we can't come to a consensus as one Khalsa Panth and move forward. I was watching a interview by Giani Pinderpal Singh ji and he said the main problem is not that Sikhi is gone in Punjab, but because Sikhs in Punjab don't have a direction and if given one they will take it. He also says that some people only tie white dastar, some only neeli, some only kesri but each flower has it's own traits and we should appreciate it. My interpretation is that we shouldn't become so hard lined in which school of thought we prescribe to when it divides us as a Khalsa Panth. The main problem isn't money, the main problem isn't being able to devote time, the main problem isn't a lack of sewadars and the main problem isn't with the average Sikh. The problem is that we see too many differences and have too much ego to come together and tackle this issue. How do we come together as one Panth and accomplish this task of helping the down trodden people of Punjab. What i think we'll find is, if we can manage to accomplish this task, it will solve many problems that we currently face
United Sikhs
Sikh Coalition
Khalsa Aid
Sikh Sangat Discussion Forum Powered by Invision Community


text:
Kevin Smith Teases Release of 'Masters of the Universe' First Images
The first images of the upcoming He-Man sequel series Masters of the Universe: Revelation have been teased by director Kevin Smith to be releasing soon. As per reports, the series will follow Teela as she searches for the Power Sword.
Now, Smith has given an update on the status of his series, during the Fatman Beyond podcast, which is hosted by the former and co-host Marc Bernardin. Although unsure whether he is allowed to divulge details, Smith revealed that the first images of the forthcoming show could be released sometime this week.
He also noted that it would be followed by the release of the trailer from the streaming platform. Check out his statement below:
"I believe…this week perhaps, you may be seeing some imagery. I'm not sure if I'm at liberty to say, but there's a preview coming. I think that's this coming week…In other news, I saw the teaser trailer….so I can't say when you're going to see it, but if I'm seeing it now, then it's coming fairly soon."
Kevin Smith | Source: Fandom
Considering Smith's recent confession about his knowledge of when the show is set to premiere, it seems his timetable is on track. Furthermore, with production having begun in 2019, the time frame of the show's promotions and release could be imminent.
In his statement, Smith also praised Netflix's marketing department for having done a "wonderful" job in the trailer's making by combining clips and adding "a piece of music that's just absolute chef's kiss."
READ: Netflix Earns the Right to Stream Movies from Sony after Debut
Noah Centineo's departure from the project was met with disappointment by fans who were anticipating the actor's portrayal as He-Man, but Smith's tease has assured there are better things to come. However, as of now, it remains unclear whether the show will be connected to the Emmy award-winning She-Ra.
Masters of the Universe | Source: IMDb
But even if it doesn't, a standalone might not be as bad and could instead do well for the upcoming series.
The Masters of the Universe franchise first came into existence in the early 80s. Developed by Mattel, they expanded it into a world of television shows after the company released its original toy line and mini-comics.
The first to debut was the sequel series She-Ra: Princess of Power in 1985, followed by He-Man in 1987. The franchise was revived by Netflix almost three decades later in 2018 with a She-Ra reboot. The streaming giant later announced in 2019 that two additional animated He-Man series are also in the works.
Watch Masters of the Universe: Revelation on:
About Masters of the Universe: Revelation
Masters of the Universe: Revelation is an upcoming American animated reboot of the classic 80s Masters of the Universe franchise. Directed by Kevin Smith it will be animated by Powerhouse Animation Studios.
The ensemble cast includes Chris Wood, Mark Hamill, Sarah Michelle Gellar, Liam Cunningham, Lena Headey, Diedrich Bader, Alicia Silverstone, and Stephen Root among many others.
The show will follow the war for Eternia which begins again in what may be the final battle between He-Man and Skeletor.
Categories Categories: Masters of the Universe: Revelation,	Netflix,	News,	TV Series
Tags Kevin Smith, Masters of the Universe, Masters of the Universe First Images
Top 20 DC Animated Movies of All Time
Every Upcoming Sony Movie Coming to Netflix in 2022 (and Beyond)
'Selling Sunset' Renewed for Two More Seasons
Top 10 'Riverdale' Dads, Ranked
Showrunner of 'You' Teases Season 3 Release with Pic of Script
WandaVision: Jac Schaeffer Reveals Kevin Feige's Support for the Storytelling
Kevin Feige Reveals MCU's Upcoming Shows to be Testing Grounds for Characters
'The Irregulars' Trailer Teases Sherlock Holmes as the Bad Guy


The holiday season is here, and many employers will host their annual year-end celebrations in the weeks to come. These events are generally meant to reward employees and foster camaraderie—but employers could be on the hook for holiday-party mishaps.
Potential problems at social gatherings include bullying, sexual harassment and other misconduct, as well as accidents and injuries, noted Keith Markel, an attorney with Morrison Cohen in New York City.
"It's important to make expectations clear from the start," said Nathan Baker, an attorney with Barnes & Thornburg in Indianapolis. "Think about the message, and make sure it's positive."
For example, he said, employers might want to say, "Let's have a good time. We don't anticipate any issues, but this is a work event and we obviously expect everyone to act professionally."
It might be worth mentioning that employees are welcome to wear festive attire, but they should still dress appropriately for an event with their peers, said Charles E. "Chad" Reis IV, an attorney with Littler in St. Louis.
The leadership team should set the example for the rest of the staff, Baker noted. Furthermore, leaders should encourage workers to report any incidents as soon as they happen so that the employer can play an active role in any resolution, he said.
Businesses can't eliminate all the potential liability that stems from company-sponsored events, but they can create an environment that limits their legal exposure. Here are four questions employers should consider when gauging their potential holiday-party liability.
1. Will Alcohol Be Served?
The days of "free-for-all open bars" are long gone, but many employers still opt to serve alcohol at company gatherings, Baker noted. Those that do should create an environment that doesn't lend itself to over-drinking, he said.
He recommended that employers hire a catering service that has the appropriate insurance and licensing and that can provide professional servers and bartenders who are trained to handle alcohol-related issues. This has the added benefit of making the party look a little fancier, he noted.
Employers may also want to consider serving only beer and wine and keeping liquor with high alcohol content off the menu.
They should consider limiting the amount of alcohol that is served, Reis said. For example, each employee could be given two drink tickets to use at the party.
But Baker cautioned that employees who want more drink tickets can usually find them, so while issuing drink tickets may be a good idea, it might not stop workers from overindulging.
"Consider limiting the hours that alcoholic beverages are served," Markel said. For example, an employer could stop alcohol service an hour before the holiday party is scheduled to end. This is a practice used at most sporting events and has proved to be an excellent deterrent to employees leaving the holiday party with impaired judgment, he added.
Employers could also serve dessert and coffee after they stop serving alcohol and schedule any speeches or presentations during that time, he said.
Additionally, employers may want to offer a shuttle service to public transportation or pay for taxis and ride-hailing services.
2. Where and When Will the Event Be Held?
The place, day of the week and time of day for the holiday party can all affect employee behavior. A party at the workplace may remind employees to act professionally, but it might not feel like a reward. A party at a downtown venue may feel more festive but may be more likely to get out of control.
Employers that are concerned about the effects of drinking may want to host a luncheon where no alcohol is served, Reis said. Alternatively, a late afternoon party with defined hours, perhaps from 5 p.m. to 7 p.m., might limit rowdy behavior.
If the party is held on a Friday or Saturday evening, employees might get a bit wilder than if it's held on a weekday evening, he added.
The party should be a celebration of the people who work for the company and not about a particular holiday, Baker said.
"Make sure all employees are invited, and encourage workers of all racial, religious and ethnic backgrounds to attend," Reis said. Careful consideration should be given to the date of the event because many religions celebrate holidays in December, he added.
Employers should consider putting together a planning committee that includes employees with diverse backgrounds. Attendees are more likely to be diverse if the planning committee is diverse, Reis said.
It is also important to make attendance voluntary, he added, because some workers may not want to attend an event that is associated with a particular religion or practice or where alcohol is served. Furthermore, mandatory attendance could lead to wage and hour issues.
4. Is the Risk Worth the Reward?
It's probably too late to change the party plans for 2018, but employers may want to follow up with employees after the celebration to find out what they want to do next year.
Would employees still attend if the party was held on a weeknight or at lunchtime? Are they tired of the big extravaganza, or do they look forward to it every year?
"Involve your folks," Baker said. "Maybe your employees would rather get a $100 gift card and have a pizza party. Or maybe they'd rather donate the money to a food bank and spend time volunteering." Employee engagement is the key, and there's no single solution, he said. What works for one organization may not work for another.
"Ask yourself what the goal is," Baker said. If the point is to host a morale-boosting event for the team, then the employer needs to know what the team wants. "Maybe it changes every year," he noted.
Instead of starting with the liability question, employers should first find out what type of celebration makes the most sense for the team, Baker said. "And then we'll find ways to limit the liability around that."


text:
"""
Builders define actions that the Jenkins job should execute.  Examples
include shell scripts or maven targets.  The ``builders`` attribute in
the :ref:`Job` definition accepts a list of builders to invoke.  They
may be components defined below, locally defined macros (using the top
level definition of ``builder:``, or locally defined components found
via the ``jenkins_jobs.builders`` entry point.

**Component**: builders
  :Macro: builder
  :Entry Point: jenkins_jobs.builders

Example::

  job:
    name: test_job

    builders:
      - shell: "make test"

"""

import xml.etree.ElementTree as XML
import jenkins_jobs.modules.base
from jenkins_jobs.errors import JenkinsJobsException
import logging

logger = logging.getLogger(__name__)

def shell(parser, xml_parent, data):
    """yaml: shell
    Execute a shell command.

    :Parameter: the shell command to execute

    Example::

      builders:
        - shell: "make test"

    """
    shell = XML.SubElement(xml_parent, 'hudson.tasks.Shell')
    XML.SubElement(shell, 'command').text = data

def copyartifact(parser, xml_parent, data):
    """yaml: copyartifact

    Copy artifact from another project.  Requires the Jenkins `Copy Artifact
    plugin.
    <https://wiki.jenkins-ci.org/display/JENKINS/Copy+Artifact+Plugin>`_

    :arg str project: Project to copy from
    :arg str filter: what files to copy
    :arg str target: Target base directory for copy, blank means use workspace
    :arg bool flatten: Flatten directories (default: false)
    :arg bool optional: If the artifact is missing (for any reason) and
        optional is true, the build won't fail because of this builder
        (default: false)
    :arg str which-build: which build to get artifacts from
        (optional, default last-successful)
    :arg str build-number: specifies the build number to get when
        when specific-build is specified as which-build
    :arg str permalink: specifies the permalink to get when
        permalink is specified as which-build
    :arg bool stable: specifies to get only last stable build when
        last-successful is specified as which-build
    :arg bool fallback-to-last-successful: specifies to fallback to
        last successful build when upstream-build is specified as which-build
    :arg string param: specifies to use a build parameter to get the build when
        build-param is specified as which-build
    :arg string parameter-filters: Filter matching jobs based on these
        parameters (optional)
    :which-build values:
      * **last-successful**
      * **specific-build**
      * **last-saved**
      * **upstream-build**
      * **permalink**
      * **workspace-latest**
      * **build-param**
    :permalink values:
      * **last**
      * **last-stable**
      * **last-successful**
      * **last-failed**
      * **last-unstable**
      * **last-unsuccessful**

    Example::

      builders:
        - copyartifact:
            project: foo
            filter: *.tar.gz
            target: /home/foo
            which-build: specific-build
            build-number: 123
            optional: true
            flatten: true
            parameter-filters: PUBLISH=true
    """
    t = XML.SubElement(xml_parent, 'hudson.plugins.copyartifact.CopyArtifact')
    # Warning: this only works with copy artifact version 1.26+,
    # for copy artifact version 1.25- the 'projectName' element needs
    # to be used instead of 'project'
    XML.SubElement(t, 'project').text = data["project"]
    XML.SubElement(t, 'filter').text = data.get("filter", "")
    XML.SubElement(t, 'target').text = data.get("target", "")
    flatten = data.get("flatten", False)
    XML.SubElement(t, 'flatten').text = str(flatten).lower()
    optional = data.get('optional', False)
    XML.SubElement(t, 'optional').text = str(optional).lower()
    XML.SubElement(t, 'parameters').text = data.get("parameter-filters", "")
    select = data.get('which-build', 'last-successful')
    selectdict = {'last-successful': 'StatusBuildSelector',
                  'specific-build': 'SpecificBuildSelector',
                  'last-saved': 'SavedBuildSelector',
                  'upstream-build': 'TriggeredBuildSelector',
                  'permalink': 'PermalinkBuildSelector',
                  'workspace-latest': 'WorkspaceSelector',
                  'build-param': 'ParameterizedBuildSelector'}
    if select not in selectdict:
        raise JenkinsJobsException("which-build entered is not valid must be "
                                   "one of: last-successful, specific-build, "
                                   "last-saved, upstream-build, permalink, "
                                   "workspace-latest, or build-param")
    permalink = data.get('permalink', 'last')
    permalinkdict = {'last': 'lastBuild',
                     'last-stable': 'lastStableBuild',
                     'last-successful': 'lastSuccessfulBuild',
                     'last-failed': 'lastFailedBuild',
                     'last-unstable': 'lastUnstableBuild',
                     'last-unsuccessful': 'lastUnsuccessfulBuild'}
    if permalink not in permalinkdict:
        raise JenkinsJobsException("permalink entered is not valid must be "
                                   "one of: last, last-stable, "
                                   "last-successful, last-failed, "
                                   "last-unstable, or last-unsuccessful")
    selector = XML.SubElement(t, 'selector',
                              {'class': 'hudson.plugins.copyartifact.' +
                               selectdict[select]})
    if select == 'specific-build':
        XML.SubElement(selector, 'buildNumber').text = data['build-number']
    if select == 'last-successful':
        XML.SubElement(selector, 'stable').text = str(
            data.get('stable', False)).lower()
    if select == 'upstream-build':
        XML.SubElement(selector, 'fallbackToLastSuccessful').text = str(
            data.get('fallback-to-last-successful', False)).lower()
    if select == 'permalink':
        XML.SubElement(selector, 'id').text = permalinkdict[permalink]
    if select == 'build-param':
        XML.SubElement(selector, 'parameterName').text = data['param']

def ant(parser, xml_parent, data):
    """yaml: ant
    Execute an ant target.  Requires the Jenkins `Ant Plugin.
    <https://wiki.jenkins-ci.org/display/JENKINS/Ant+Plugin>`_

    To setup this builder you can either reference the list of targets
    or use named parameters. Below is a description of both forms:

    *1) Listing targets:*

    After the ant directive, simply pass as argument a space separated list
    of targets to build.

    :Parameter: space separated list of Ant targets
    :arg str ant-name: the name of the ant installation,
        defaults to 'default' (optional)

    Example to call two Ant targets::

        builders:
          - ant: "target1 target2"
             ant-name: "Standard Ant"

    The build file would be whatever the Jenkins Ant Plugin is set to use
    per default (i.e build.xml in the workspace root).

    *2) Using named parameters:*

    :arg str targets: the space separated list of ANT targets.
    :arg str buildfile: the path to the ANT build file.
    :arg list properties: Passed to ant script using -Dkey=value (optional)
    :arg str ant-name: the name of the ant installation,
        defaults to 'default' (optional)
    :arg str java-opts: java options for ant, can have multiples,
        must be in quotes (optional)

    Example specifying the build file too and several targets::

        builders:
          - ant:
             targets: "debug test install"
             buildfile: "build.xml"
             properties:
                builddir: "/tmp/"
                failonerror: true
             java-opts:
                - "-ea"
                - "-Xmx512m"
             ant-name: "Standard Ant"

    """
    ant = XML.SubElement(xml_parent, 'hudson.tasks.Ant')

    if type(data) is str:
        # Support for short form: -ant: "target"
        data = {'targets': data}
    for setting, value in data.iteritems():
        if setting == 'targets':
            targets = XML.SubElement(ant, 'targets')
            targets.text = value
        if setting == 'buildfile':
            buildfile = XML.SubElement(ant, 'buildFile')
            buildfile.text = value
        if setting == 'properties':
            properties = data['properties']
            prop_string = ''
            for prop, val in properties.items():
                prop_string += "%s=%s\n" % (prop, val)
            prop_element = XML.SubElement(ant, 'properties')
            prop_element.text = prop_string
        if setting == 'java-opts':
            javaopts = data['java-opts']
            jopt_string = ' '.join(javaopts)
            jopt_element = XML.SubElement(ant, 'antOpts')
            jopt_element.text = jopt_string

    XML.SubElement(ant, 'antName').text = data.get('ant-name', 'default')

def trigger_builds(parser, xml_parent, data):
    """yaml: trigger-builds
    Trigger builds of other jobs.
    Requires the Jenkins `Parameterized Trigger Plugin.
    <https://wiki.jenkins-ci.org/display/JENKINS/
    Parameterized+Trigger+Plugin>`_

    :arg str project: the Jenkins project to trigger
    :arg str predefined-parameters:
      key/value pairs to be passed to the job (optional)
    :arg bool current-parameters: Whether to include the
      parameters passed to the current build to the
      triggered job.
    :arg bool svn-revision: Whether to pass the svn revision
      to the triggered job
    :arg bool block: whether to wait for the triggered jobs
      to finish or not (default false)

    Example::

      builders:
        - trigger-builds:
            - project: "build_started"
              predefined-parameters:
                FOO="bar"
              block: true

    """
    tbuilder = XML.SubElement(xml_parent,
                              'hudson.plugins.parameterizedtrigger.'
                              'TriggerBuilder')
    configs = XML.SubElement(tbuilder, 'configs')
    for project_def in data:
        if 'project' not in project_def or project_def['project'] == '':
            logger.debug("No project specified - skipping trigger-build")
            continue
        tconfig = XML.SubElement(configs,
                                 'hudson.plugins.parameterizedtrigger.'
                                 'BlockableBuildTriggerConfig')
        tconfigs = XML.SubElement(tconfig, 'configs')
        if(project_def.get('current-parameters')):
            XML.SubElement(tconfigs,
                           'hudson.plugins.parameterizedtrigger.'
                           'CurrentBuildParameters')
        if(project_def.get('svn-revision')):
            XML.SubElement(tconfigs,
                           'hudson.plugins.parameterizedtrigger.'
                           'SubversionRevisionBuildParameters')
        if 'predefined-parameters' in project_def:
            params = XML.SubElement(tconfigs,
                                    'hudson.plugins.parameterizedtrigger.'
                                    'PredefinedBuildParameters')
            properties = XML.SubElement(params, 'properties')
            properties.text = project_def['predefined-parameters']
        if(len(list(tconfigs)) == 0):
            tconfigs.set('class', 'java.util.Collections$EmptyList')
        projects = XML.SubElement(tconfig, 'projects')
        projects.text = project_def['project']
        condition = XML.SubElement(tconfig, 'condition')
        condition.text = 'ALWAYS'
        trigger_with_no_params = XML.SubElement(tconfig,
                                                'triggerWithNoParameters')
        trigger_with_no_params.text = 'false'
        build_all_nodes_with_label = XML.SubElement(tconfig,
                                                    'buildAllNodesWithLabel')
        build_all_nodes_with_label.text = 'false'
        block = project_def.get('block', False)
        if(block):
            block = XML.SubElement(tconfig, 'block')
            bsft = XML.SubElement(block, 'buildStepFailureThreshold')
            XML.SubElement(bsft, 'name').text = 'FAILURE'
            XML.SubElement(bsft, 'ordinal').text = '2'
            XML.SubElement(bsft, 'color').text = 'RED'
            ut = XML.SubElement(block, 'unstableThreshold')
            XML.SubElement(ut, 'name').text = 'UNSTABLE'
            XML.SubElement(ut, 'ordinal').text = '1'
            XML.SubElement(ut, 'color').text = 'Yellow'
            ft = XML.SubElement(block, 'failureThreshold')
            XML.SubElement(ft, 'name').text = 'FAILURE'
            XML.SubElement(ft, 'ordinal').text = '2'
            XML.SubElement(ft, 'color').text = 'RED'
    # If configs is empty, remove the entire tbuilder tree.
    if(len(configs) == 0):
        logger.debug("Pruning empty TriggerBuilder tree.")
        xml_parent.remove(tbuilder)

def builders_from(parser, xml_parent, data):
    """yaml: builders-from
    Use builders from another project.
    Requires the Jenkins `Template Project Plugin.
    <https://wiki.jenkins-ci.org/display/JENKINS/Template+Project+Plugin>`_

    :arg str projectName: the name of the other project

    Example::

      builders:
        - builders-from:
            - project: "base-build"
    """
    pbs = XML.SubElement(xml_parent,
                         'hudson.plugins.templateproject.ProxyBuilder')
    XML.SubElement(pbs, 'projectName').text = data

def inject(parser, xml_parent, data):
    """yaml: inject
    Inject an environment for the job.
    Requires the Jenkins `EnvInject Plugin.
    <https://wiki.jenkins-ci.org/display/JENKINS/EnvInject+Plugin>`_

    :arg str properties-file: the name of the property file (optional)
    :arg str properties-content: the properties content (optional)

    Example::

      builders:
        - inject:
            properties-file: example.prop
            properties-content: EXAMPLE=foo-bar
    """
    eib = XML.SubElement(xml_parent, 'EnvInjectBuilder')
    info = XML.SubElement(eib, 'info')
    jenkins_jobs.modules.base.add_nonblank_xml_subelement(
        info, 'propertiesFilePath', data.get('properties-file'))
    jenkins_jobs.modules.base.add_nonblank_xml_subelement(
        info, 'propertiesContent', data.get('properties-content'))

def artifact_resolver(parser, xml_parent, data):
    """yaml: artifact-resolver
    Allows one to resolve artifacts from a maven repository like nexus
    (without having maven installed)
    Requires the Jenkins `Repository Connector Plugin
    <https://wiki.jenkins-ci.org/display/JENKINS/Repository+Connector+Plugin>`_

    :arg bool fail-on-error: Whether to fail the build on error (default false)
    :arg bool repository-logging: Enable repository logging (default false)
    :arg str target-directory: Where to resolve artifacts to
    :arg list artifacts: list of artifacts to resolve

      :Artifact: * **group-id** (`str`) -- Group ID of the artifact
                 * **artifact-id** (`str`) -- Artifact ID of the artifact
                 * **version** (`str`) -- Version of the artifact
                 * **classifier** (`str`) -- Classifier of the artifact
                   (default '')
                 * **extension** (`str`) -- Extension of the artifact
                   (default 'jar')
                 * **target-file-name** (`str`) -- What to name the artifact
                   (default '')

    Example::

      builders:
        - artifact-resolver:
            fail-on-error: true
            repository-logging: true
            target-directory: foo
            artifacts:
              - group-id: commons-logging
                artifact-id: commons-logging
                version: 1.1
                classifier: src
                extension: jar
                target-file-name: comm-log.jar
              - group-id: commons-lang
                artifact-id: commons-lang
                version: 1.2
    """
    ar = XML.SubElement(xml_parent,
                        'org.jvnet.hudson.plugins.repositoryconnector.'
                        'ArtifactResolver')
    XML.SubElement(ar, 'targetDirectory').text = data['target-directory']
    artifacttop = XML.SubElement(ar, 'artifacts')
    artifacts = data['artifacts']
    for artifact in artifacts:
        rcartifact = XML.SubElement(artifacttop,
                                    'org.jvnet.hudson.plugins.'
                                    'repositoryconnector.Artifact')
        XML.SubElement(rcartifact, 'groupId').text = artifact['group-id']
        XML.SubElement(rcartifact, 'artifactId').text = artifact['artifact-id']
        XML.SubElement(rcartifact, 'classifier').text = artifact.get(
            'classifier', '')
        XML.SubElement(rcartifact, 'version').text = artifact['version']
        XML.SubElement(rcartifact, 'extension').text = artifact.get(
            'extension', 'jar')
        XML.SubElement(rcartifact, 'targetFileName').text = artifact.get(
            'target-file-name', '')
    XML.SubElement(ar, 'failOnError').text = str(data.get(
        'fail-on-error', False)).lower()
    XML.SubElement(ar, 'enableRepoLogging').text = str(data.get(
        'repository-logging', False)).lower()
    XML.SubElement(ar, 'snapshotUpdatePolicy').text = 'never'
    XML.SubElement(ar, 'releaseUpdatePolicy').text = 'never'
    XML.SubElement(ar, 'snapshotChecksumPolicy').text = 'warn'
    XML.SubElement(ar, 'releaseChecksumPolicy').text = 'warn'

def gradle(parser, xml_parent, data):
    """yaml: gradle
    Execute gradle tasks.  Requires the Jenkins `Gradle Plugin.
    <https://wiki.jenkins-ci.org/display/JENKINS/Gradle+Plugin>`_

    :arg str tasks: List of tasks to execute
    :arg str gradle-name: Use a custom gradle name (optional)
    :arg bool wrapper: use gradle wrapper (default false)
    :arg bool executable: make gradlew executable (default false)
    :arg list switches: Switches for gradle, can have multiples
    :arg bool use-root-dir: Whether to run the gradle script from the
        top level directory or from a different location (default false)
    :arg str root-build-script-dir: If your workspace has the
        top-level build.gradle in somewhere other than the module
        root directory, specify the path (relative to the module
        root) here, such as ${workspace}/parent/ instead of just
        ${workspace}.

    Example::

      builders:
        - gradle:
            gradle-name: "gradle-1.2"
            wrapper: true
            executable: true
            use-root-dir: true
            root-build-script-dir: ${workspace}/tests
            switches:
              - "-g /foo/bar/.gradle"
              - "-PmavenUserName=foobar"
            tasks: |
                   init
                   build
                   tests
    """
    gradle = XML.SubElement(xml_parent, 'hudson.plugins.gradle.Gradle')
    XML.SubElement(gradle, 'description').text = ''
    XML.SubElement(gradle, 'tasks').text = data['tasks']
    XML.SubElement(gradle, 'buildFile').text = ''
    XML.SubElement(gradle, 'rootBuildScriptDir').text = data.get(
        'root-build-script-dir', '')
    XML.SubElement(gradle, 'gradleName').text = data.get(
        'gradle-name', '')
    XML.SubElement(gradle, 'useWrapper').text = str(data.get(
        'wrapper', False)).lower()
    XML.SubElement(gradle, 'makeExecutable').text = str(data.get(
        'executable', False)).lower()
    switch_string = '\n'.join(data.get('switches', []))
    XML.SubElement(gradle, 'switches').text = switch_string
    XML.SubElement(gradle, 'fromRootBuildScriptDir').text = str(data.get(
        'use-root-dir', False)).lower()

def batch(parser, xml_parent, data):
    """yaml: batch
    Execute a batch command.

    :Parameter: the batch command to execute

    Example::

      builders:
        - batch: "foo/foo.bat"

    """
    batch = XML.SubElement(xml_parent, 'hudson.tasks.BatchFile')
    XML.SubElement(batch, 'command').text = data

def msbuild(parser, xml_parent, data):
    """yaml: msbuild
    Build .NET project using msbuild.  Requires the `Jenkins MSBuild Plugin
    <https://wiki.jenkins-ci.org/display/JENKINS/MSBuild+Plugin>`_.

    :arg str msbuild-version: which msbuild configured in Jenkins to use
      (optional)
    :arg str solution-file: location of the solution file to build
    :arg str extra-parameters: extra parameters to pass to msbuild (optional)
    :arg bool pass-build-variables: should build variables be passed
      to msbuild (defaults to true)
    :arg bool continue-on-build-failure: should the build continue if
      msbuild returns an error (defaults to false)

    Example::

      builders:
        - msbuild:
            solution-file: "MySolution.sln"
            msbuild-version: "msbuild-4.0"
            extra-parameters: "/maxcpucount:4"
            pass-build-variables: False
            continue-on-build-failure: True

    """
    msbuilder = XML.SubElement(xml_parent,
                               'hudson.plugins.msbuild.MsBuildBuilder')
    XML.SubElement(msbuilder, 'msBuildName').text = data.get('msbuild-version',
                                                             '(Default)')
    XML.SubElement(msbuilder, 'msBuildFile').text = data['solution-file']
    XML.SubElement(msbuilder, 'cmdLineArgs').text = \
        data.get('extra-parameters', '')
    XML.SubElement(msbuilder, 'buildVariablesAsProperties').text = \
        str(data.get('pass-build-variables', True)).lower()
    XML.SubElement(msbuilder, 'continueOnBuildFailure').text = \
        str(data.get('continue-on-build-failure', False)).lower()

def create_builders(parser, step):
    dummy_parent = XML.Element("dummy")
    parser.registry.dispatch('builder', parser, dummy_parent, step)
    return list(dummy_parent)

def conditional_step(parser, xml_parent, data):
    """yaml: conditional-step
    Conditionaly execute some build steps.  Requires the Jenkins `Conditional
    BuildStep Plugin`_.

    Depending on the number of declared steps, a `Conditional step (single)`
    or a `Conditional steps (multiple)` is created in Jenkins.

    :arg str condition-kind: Condition kind that must be verified before the
      steps are executed. Valid values and their additional attributes are
      described in the conditions_ table.
    :arg str on-evaluation-failure: What should be the outcome of the build
      if the evaluation of the condition fails. Possible values are `fail`,
      `mark-unstable`, `run-and-mark-unstable`, `run` and `dont-run`.
      Default is `fail`.
    :arg list steps: List of steps to run if the condition is verified. Items
      in the list can be any builder known by Jenkins Job Builder.

    .. _conditions:

    ================== ====================================================
    Condition kind     Description
    ================== ====================================================
    always             Condition is always verified
    never              Condition is never verified
    boolean-expression Run the step if the expression expends to a
                       representation of true

                         :condition-expression: Expression to expand
    current-status     Run the build step if the current build status is
                       within the configured range

                         :condition-worst: Worst status
                         :condition-best: Best status
    shell              Run the step if the shell command succeed

                         :condition-command: Shell command to execute
    windows-shell      Similar to shell, except that commands will be
                       executed by cmd, under Windows

                         :condition-command: Command to execute
    file-exists        Run the step if a file exists

                         :condition-filename: Check existence of this file
                         :condition-basedir: If condition-filename is
                           relative, it will be considered relative to
                           either `workspace`, `artifact-directory`,
                           or `jenkins-home`. Default is `workspace`.
    ================== ====================================================

    Example::

      builders:
        - conditional-step:
            condition-kind: boolean-expression
            condition-expression: "${ENV,var=IS_STABLE_BRANCH}"
            on-evaluation-failure: mark-unstable
            steps:
                - shell: "echo Making extra checks"

    .. _Conditional BuildStep Plugin: https://wiki.jenkins-ci.org/display/
        JENKINS/Conditional+BuildStep+Plugin
    """

    def build_condition(cdata):
        kind = cdata['condition-kind']
        ctag = XML.SubElement(root_tag, condition_tag)
        if kind == "always":
            ctag.set('class',
                     'org.jenkins_ci.plugins.run_condition.core.AlwaysRun')
        elif kind == "never":
            ctag.set('class',
                     'org.jenkins_ci.plugins.run_condition.core.NeverRun')
        elif kind == "boolean-expression":
            ctag.set('class',
                     'org.jenkins_ci.plugins.run_condition.core.'
                     'BooleanCondition')
            XML.SubElement(ctag, "token").text = cdata['condition-expression']
        elif kind == "current-status":
            ctag.set('class',
                     'org.jenkins_ci.plugins.run_condition.core.'
                     'StatusCondition')
            wr = XML.SubElement(ctag, 'worstResult')
            XML.SubElement(wr, "name").text = cdata['condition-worst']
            br = XML.SubElement(ctag, 'bestResult')
            XML.SubElement(br, "name").text = cdata['condition-best']
        elif kind == "shell":
            ctag.set('class',
                     'org.jenkins_ci.plugins.run_condition.contributed.'
                     'ShellCondition')
            XML.SubElement(ctag, "command").text = cdata['condition-command']
        elif kind == "windows-shell":
            ctag.set('class',
                     'org.jenkins_ci.plugins.run_condition.contributed.'
                     'BatchFileCondition')
            XML.SubElement(ctag, "command").text = cdata['condition-command']
        elif kind == "file-exists":
            ctag.set('class',
                     'org.jenkins_ci.plugins.run_condition.core.'
                     'FileExistsCondition')
            XML.SubElement(ctag, "file").text = cdata['condition-filename']
            basedir = cdata.get('condition-basedir', 'workspace')
            basedir_tag = XML.SubElement(ctag, "baseDir")
            if "workspace" == basedir:
                basedir_tag.set('class',
                                'org.jenkins_ci.plugins.run_condition.common.'
                                'BaseDirectory$Workspace')
            elif "artifact-directory" == basedir:
                basedir_tag.set('class',
                                'org.jenkins_ci.plugins.run_condition.common.'
                                'BaseDirectory$ArtifactsDir')
            elif "jenkins-home" == basedir:
                basedir_tag.set('class',
                                'org.jenkins_ci.plugins.run_condition.common.'
                                'BaseDirectory$JenkinsHome')

    def build_step(parent, step):
        for edited_node in create_builders(parser, step):
            if not has_multiple_steps:
                edited_node.set('class', edited_node.tag)
                edited_node.tag = 'buildStep'
            parent.append(edited_node)

    cond_builder_tag = 'org.jenkinsci.plugins.conditionalbuildstep.'    \
        'singlestep.SingleConditionalBuilder'
    cond_builders_tag = 'org.jenkinsci.plugins.conditionalbuildstep.'   \
        'ConditionalBuilder'
    steps = data['steps']
    has_multiple_steps = len(steps) > 1

    if has_multiple_steps:
        root_tag = XML.SubElement(xml_parent, cond_builders_tag)
        steps_parent = XML.SubElement(root_tag, "conditionalbuilders")
        condition_tag = "runCondition"
    else:
        root_tag = XML.SubElement(xml_parent, cond_builder_tag)
        steps_parent = root_tag
        condition_tag = "condition"

    build_condition(data)
    evaluation_classes_pkg = 'org.jenkins_ci.plugins.run_condition'
    evaluation_classes = {
        'fail': evaluation_classes_pkg + '.BuildStepRunner$Fail',
        'mark-unstable': evaluation_classes_pkg + '.BuildStepRunner$Unstable',
        'run-and-mark-unstable': evaluation_classes_pkg +
        '.BuildStepRunner$RunUnstable',
        'run': evaluation_classes_pkg + '.BuildStepRunner$Run',
        'dont-run': evaluation_classes_pkg + '.BuildStepRunner$DontRun',
    }
    evaluation_class = evaluation_classes[data.get('on-evaluation-failure',
                                                   'fail')]
    XML.SubElement(root_tag, "runner").set('class',
                                           evaluation_class)
    for step in steps:
        build_step(steps_parent, step)

def maven_target(parser, xml_parent, data):
    """yaml: maven-target
    Execute top-level Maven targets

    :arg str goals: Goals to execute
    :arg str properties: Properties for maven, can have multiples
    :arg str pom: Location of pom.xml (defaults to pom.xml)
    :arg bool private-repository: Use private maven repository for this
      job (defaults to false)
    :arg str maven-version: Installation of maven which should be used
      (optional)
    :arg str java-opts: java options for maven, can have multiples,
        must be in quotes (optional)
    :arg str settings: Path to use as user settings.xml (optional)
    :arg str global-settings: Path to use as global settings.xml (optional)

    Example:

    .. literalinclude:: /../../tests/builders/fixtures/maven-target-doc.yaml
    """
    maven = XML.SubElement(xml_parent, 'hudson.tasks.Maven')
    XML.SubElement(maven, 'targets').text = data['goals']
    prop_string = '\n'.join(data.get('properties', []))
    XML.SubElement(maven, 'properties').text = prop_string
    if 'maven-version' in data:
        XML.SubElement(maven, 'mavenName').text = str(data['maven-version'])
    if 'pom' in data:
        XML.SubElement(maven, 'pom').text = str(data['pom'])
    use_private = str(data.get('private-repository', False)).lower()
    XML.SubElement(maven, 'usePrivateRepository').text = use_private
    if 'java-opts' in data:
        javaoptions = ' '.join(data.get('java-opts', []))
        XML.SubElement(maven, 'jvmOptions').text = javaoptions
    if 'settings' in data:
        settings = XML.SubElement(maven, 'settings',
                                  {'class':
                                   'jenkins.mvn.FilePathSettingsProvider'})
        XML.SubElement(settings, 'path').text = data.get('settings')
    else:
        XML.SubElement(maven, 'settings',
                       {'class':
                        'jenkins.mvn.DefaultSettingsProvider'})
    if 'global-settings' in data:
        provider = 'jenkins.mvn.FilePathGlobalSettingsProvider'
        global_settings = XML.SubElement(maven, 'globalSettings',
                                         {'class': provider})
        XML.SubElement(global_settings, 'path').text = data.get(
            'global-settings')
    else:
        XML.SubElement(maven, 'globalSettings',
                       {'class':
                        'jenkins.mvn.DefaultGlobalSettingsProvider'})

def multijob(parser, xml_parent, data):
    """yaml: multijob
    Define a multijob phase. Requires the Jenkins `Multijob Plugin.
    <https://wiki.jenkins-ci.org/display/JENKINS/Multijob+Plugin>`_

    This builder may only be used in \
    :py:class:`jenkins_jobs.modules.project_multijob.MultiJob` projects.

    :arg str name: MultiJob phase name
    :arg str condition: when to trigger the other job (default 'SUCCESSFUL')
    :arg list projects: list of projects to include in the MultiJob phase

      :Project: * **name** (`str`) -- Project name
                * **current-parameters** (`bool`) -- Pass current build
                  parameters to the other job (default false)
                * **node-label-name** (`str`) -- Define a list of nodes
                  on which the job should be allowed to be executed on.
                  Requires NodeLabel Parameter Plugin (optional)
                * **node-label** (`str`) -- Define a label
                  of 'Restrict where this project can be run' on the fly.
                  Requires NodeLabel Parameter Plugin (optional)
                * **git-revision** (`bool`) -- Pass current git-revision
                  to the other job (default false)
                * **property-file** (`str`) -- Pass properties from file
                  to the other job (optional)
                * **predefined-parameters** (`str`) -- Pass predefined
                  parameters to the other job (optional)

    Example::

      builders:
        - multijob:
            name: PhaseOne
            condition: SUCCESSFUL
            projects:
              - name: PhaseOneJobA
                current-parameters: true
                node-label-name: "vm_name"
                node-label: "agent-${BUILD_NUMBER}"
                git-revision: true
              - name: PhaseOneJobB
                current-parameters: true
                property-file: build.props
        - multijob:
            name: PhaseTwo
            condition: UNSTABLE
            projects:
              - name: PhaseTwoJobA
                current-parameters: true
                predefined-parameters: foo=bar
              - name: PhaseTwoJobB
                current-parameters: false

    """
    builder = XML.SubElement(xml_parent, 'com.tikal.jenkins.plugins.multijob.'
                                         'MultiJobBuilder')
    XML.SubElement(builder, 'phaseName').text = data['name']

    condition = data.get('condition', 'SUCCESSFUL')
    XML.SubElement(builder, 'continuationCondition').text = condition

    phaseJobs = XML.SubElement(builder, 'phaseJobs')

    for project in data.get('projects', []):
        phaseJob = XML.SubElement(phaseJobs, 'com.tikal.jenkins.plugins.'
                                             'multijob.PhaseJobsConfig')

        XML.SubElement(phaseJob, 'jobName').text = project['name']

        # Pass through the current build params
        currParams = str(project.get('current-parameters', False)).lower()
        XML.SubElement(phaseJob, 'currParams').text = currParams

        # Pass through other params
        configs = XML.SubElement(phaseJob, 'configs')

        nodeLabelName = project.get('node-label-name')
        nodeLabel = project.get('node-label')
        if (nodeLabelName and nodeLabel):
            node = XML.SubElement(
                configs, 'org.jvnet.jenkins.plugins.nodelabelparameter.'
                         'parameterizedtrigger.NodeLabelBuildParameter')
            XML.SubElement(node, 'name').text = nodeLabelName
            XML.SubElement(node, 'nodeLabel').text = nodeLabel

        # Git Revision
        if project.get('git-revision', False):
            param = XML.SubElement(configs,
                                   'hudson.plugins.git.'
                                   'GitRevisionBuildParameters')
            combine = XML.SubElement(param, 'combineQueuedCommits')
            combine.text = 'false'

        # Properties File
        properties_file = project.get('property-file', False)
        if properties_file:
            param = XML.SubElement(configs,
                                   'hudson.plugins.parameterizedtrigger.'
                                   'FileBuildParameters')

            propertiesFile = XML.SubElement(param, 'propertiesFile')
            propertiesFile.text = properties_file

            failOnMissing = XML.SubElement(param, 'failTriggerOnMissing')
            failOnMissing.text = 'true'

        # Predefined Parameters
        predefined_parameters = project.get('predefined-parameters', False)
        if predefined_parameters:
            param = XML.SubElement(configs,
                                   'hudson.plugins.parameterizedtrigger.'
                                   'PredefinedBuildParameters')
            properties = XML.SubElement(param, 'properties')
            properties.text = predefined_parameters

def grails(parser, xml_parent, data):
    """yaml: grails
    Execute a grails build step. Requires the `Jenkins Grails Plugin.
    <https://wiki.jenkins-ci.org/display/JENKINS/Grails+Plugin>`_

    :arg bool use-wrapper: Use a grails wrapper (default false)
    :arg str name: Select a grails installation to use (optional)
    :arg bool force-upgrade: Run 'grails upgrade --non-interactive'
                             first (default false)
    :arg bool non-interactive: append --non-interactive to all build targets
                               (default false)
    :arg str targets: Specify target(s) to run separated by spaces
    :arg str server-port: Specify a value for the server.port system
                          property (optional)
    :arg str work-dir: Specify a value for the grails.work.dir system
                       property (optional)
    :arg str project-dir: Specify a value for the grails.project.work.dir
                          system property (optional)
    :arg str base-dir: Specify a path to the root of the Grails
                       project (optional)
    :arg str properties: Additional system properties to set (optional)
    :arg bool plain-output: append --plain-output to all build targets
                            (default false)
    :arg bool stack-trace: append --stack-trace to all build targets
                           (default false)
    :arg bool verbose: append --verbose to all build targets
                       (default false)
    :arg bool refresh-dependencies: append --refresh-dependencies to all
                                    build targets (default false)

    Example::

      builders:
        - grails:
            use-wrapper: "true"
            name: "grails-2.2.2"
            force-upgrade: "true"
            non-interactive: "true"
            targets: "war ear"
            server-port: "8003"
            work-dir: "./grails-work"
            project-dir: "./project-work"
            base-dir: "./grails/project"
            properties: "program.name=foo"
            plain-output: "true"
            stack-trace: "true"
            verbose: "true"
            refresh-dependencies: "true"

    """
    grails = XML.SubElement(xml_parent, 'com.g2one.hudson.grails.'
                                        'GrailsBuilder')
    XML.SubElement(grails, 'targets').text = data['targets']
    XML.SubElement(grails, 'name').text = data.get(
        'name', '(Default)')
    XML.SubElement(grails, 'grailsWorkDir').text = data.get(
        'work-dir', '')
    XML.SubElement(grails, 'projectWorkDir').text = data.get(
        'project-dir', '')
    XML.SubElement(grails, 'projectBaseDir').text = data.get(
        'base-dir', '')
    XML.SubElement(grails, 'serverPort').text = data.get(
        'server-port', '')
    XML.SubElement(grails, 'properties').text = data.get(
        'properties', '')
    XML.SubElement(grails, 'forceUpgrade').text = str(
        data.get('force-upgrade', False)).lower()
    XML.SubElement(grails, 'nonInteractive').text = str(
        data.get('non-interactive', False)).lower()
    XML.SubElement(grails, 'useWrapper').text = str(
        data.get('use-wrapper', False)).lower()
    XML.SubElement(grails, 'plainOutput').text = str(
        data.get('plain-output', False)).lower()
    XML.SubElement(grails, 'stackTrace').text = str(
        data.get('stack-trace', False)).lower()
    XML.SubElement(grails, 'verbose').text = str(
        data.get('verbose', False)).lower()
    XML.SubElement(grails, 'refreshDependencies').text = str(
        data.get('refresh-dependencies', False)).lower()

def sbt(parser, xml_parent, data):
    """yaml: sbt
    Execute a sbt build step. Requires the Jenkins `Sbt Plugin.
    <https://wiki.jenkins-ci.org/display/JENKINS/sbt+plugin>`_

    :arg str name: Select a sbt installation to use. If no name is
                   provided, the first in the list of defined SBT
                   builders will be used. (default to first in list)
    :arg str jvm-flags: Parameters to pass to the JVM (default '')
    :arg str actions: Select the sbt tasks to execute (default '')
    :arg str sbt-flags: Add flags to SBT launcher
                        (default '-Dsbt.log.noformat=true')
    :arg str subdir-path: Path relative to workspace to run sbt in (default '')

    Example::

      builders:
        - sbt:
            name: "default"
            actions: "clean package"
            jvm-flags: "-Xmx8G"

    """
    sbt = XML.SubElement(xml_parent, 'org.jvnet.hudson.plugins.'
                                     'SbtPluginBuilder')
    XML.SubElement(sbt, 'name').text = data.get(
        'name', '')
    XML.SubElement(sbt, 'jvmFlags').text = data.get(
        'jvm-flags', '')
    XML.SubElement(sbt, 'sbtFlags').text = data.get(
        'sbt-flags', '-Dsbt.log.noformat=true')
    XML.SubElement(sbt, 'actions').text = data.get(
        'actions', '')
    XML.SubElement(sbt, 'subdirPath').text = data.get(
        'subdir-path', '')

class Builders(jenkins_jobs.modules.base.Base):
    sequence = 60

    component_type = 'builder'
    component_list_type = 'builders'

    def gen_xml(self, parser, xml_parent, data):

        for alias in ['prebuilders', 'builders', 'postbuilders']:
            if alias in data:
                builders = XML.SubElement(xml_parent, alias)
                for builder in data[alias]:
                    self.registry.dispatch('builder', parser, builders,
                                           builder)

        # Make sure freestyle projects always have a <builders> entry
        # or Jenkins v1.472 (at least) will NPE.
        project_type = data.get('project-type', 'freestyle')
        if project_type in ('freestyle', 'matrix') and 'builders' not in data:
            XML.SubElement(xml_parent, 'builders')

redpajama_set_name: RedPajamaGithub


Another of KitchenAid's classic kitchen must-haves. 2 qt. Quickly prepare and serve seasonal drinks, delicious soups, or hot cereals in style using this well-crafted kettle with attractive handle. A graceful contoured profile lends an ornate touch to an iconic image of hearth and home.


VeeR VR is THE platform for sharing 360° content.
It is, perhaps, the only platform at the moment that allows you to share videos and photos at 360° without loss of quality.Born as a video sharing platform, in the autumn of 2017 they've included the possibility to upload 360° photos. And they did well.
Shortly after joining VeeR VR, I had the pleasure to talk with two guys from their team who asked me about opinions, ideas and one of these was the possibility to upload 360° photos. Months later it was implemented. This indicates that the team is active and listens to the community's opinion to develop ideas and grow by inserting useful functions. In fact there are already thousands of 360° photos (even mine) and this is good because, with the increase and the spread of the 360° cams, the site will always be active and will grow more and more.
But let's see how it works. It's all very simple. Fast registration (facilitated by "Sign-Up with Facebook"). A photo, a short description, a link to your site and you can start with the upload.
For both photos and videos, the upload phase is the same. Title, description, category (among those proposed by VeeR), hashtags and format.
The format depends on the original. The 360° photos are usually equirectangular. This means that in a two-dimensional picture you can see everything that has been captured by the camera. On VeeR you can also upload 3D images in a side-by-side or top-bottom format.
For the photos, you can set the headling (the part of the photo that you see first when you open it). Unlike other platforms, such as Kuula, headling can be set in any direction.
For videos we have two thumbnail. One serves as a general thumbnail that will be displayed without opening the video, such as a cover. The other is equirectangular and will be displayed at 360° while the video is loading or as preview in the VeeR VR app.
Both photos and videos, once uploaded, can be saved as drafts to be published later or can be published immediately. Eventually, you can decide whether to put them as the Unlisted content.
Sharing includes many apps including facebook, twitter, wechat, weibo and others. You can copy the direct link to the video or the embed code (Embed) to insert the video into a website using html.
Unfortunately the code is not customizable within the site. In fact, unlike Kuula, there are measures and settings established by VeeR. The code can be edited before being published, but you have to know the programming language..
The VeeR VR app is among the easiest and most useful to use. There are all the elements of the website, apart from some elements of sharing.
In the home there are the most popular videos and already from the outside you can see the 360° preview (it would be the equirectangular miniature chosen during the uploading phase). We also have information like likes, comments, shares, views etc of the previewed video. From the app you can download the videos to watch them later also offline.
Obviously there is the search function, notifications and the personal profile from which you can upload photos or videos, make changes etc.
Inside the VeeR VR app there is also the store that refers to purchase cardboards from Aliexpress or Amazon. So who does not have one can directly buy those recommended by VeeR, without going to look elsewhere.
VIP membership. The VIP function gives small advantages within the app. Initially 3 free codes are available to give to friends/relatives. Each code activates a 60-day trial version of the VIP membership and, for each activated code, the VIP membership for 60 days is also given to you.
VIPs have unlimited downloads, a marker in the profile that marks the VIP version and special events.
There is the visualization in VR (through a cardboard). You need to download another app, called VR Video World (the VeeR VR app will redirect you directly to download it from the store if the app is not installed on your device. Otherwise it will open.) Once opened, there will be featured videos or you can search by category and then choose what to watch. The app in VR does not need a physical trigger because to select something you have just to point it and wait a second. This is a very convenient function, as most of the cardboards are sold without a joypad/trigger, and for those who want to use virtual reality in a random way without much knowledge, with VeeR does not have to worry about anything because what is enough is a smartphone and the cardboard.
Once opened a content, photo or video, we have the options to like, share and add to the playlist. The comments are at the bottom and there is also the button to watch VR content using a cardboard. Moving on the button with the mouse will appear a window with QR codes to be scanned to open the VeeR VR app.
There is also the VeeR VR Immersive Edition, but connection to Daydream is required. I have not yet had the chance to try it since I do not have a Daydream viewer, but as soon as I have the chance to try it, I will update the article.
I recommend you try these apps if you are interested in the VR world. Below there are the various QR codes to be scanned or you can click on them to open the link.


Mr Martin Rothschild was born in Manhattan, New York on 12 December 1865.
He was the son of Sampson Jacob Rothschild (1818-1899), a merchant, and Mary Greissman (b. 1824), both Prussian-born Jewish immigrants. His father had come to the USA around 1846, settling in Monroe, Alabama and was married to his wife sometime after 1850.
Martin was the youngest of five known children, his siblings being: Jacob Henry (1851-1913), Simon (1854-1908), Samuel (b. 1857) and Hannah (1860-1911, later Mrs William Henry Theobald). Through his brother Jacob he was the uncle of the poet and satirist Dorothy Parker, née Rothschild (1893-1967).
The Rothschild family had moved to Manhattan, New York around 1858 and Martin first appears on the 1870 census living with his family, his father being described as the operator of a fancy goods store and with his two elder sons in his employ. By the time of the 1880 census Martin was described as a stock clerk; he later operated his own clothing manufacturing company and amassed his fortune.
He was married on 6 February 1895 to Elizabeth Jane Anne Barrett (b. 1858). The pair were an unlikely couple; he was a wealthy Jewish man and she was his employee, a slightly older seamstress of devout Irish Roman Catholic background.
The couple, who were childless, lived at 753 West End Avenue, New York but travelled extensively and were away for up to six months at a time.
Rothschild's 1900 passport describes him as standing at 5' 8", bald with brown eyes, a high forehead, a round face, small mouth, average nose and fair complexion.
Following a trip to Europe Mr and Mrs Rothschild boarded the Titanic at Cherbourg as first class passengers (ticket number PC 17603 which cost £59, 8s) and apparently occupied a cabin on C-deck.
After the collision steward Frederick Dent Ray saw Mr Rothschild coming out of his stateroom on C deck. "I spoke to him and asked him where his wife was. He said she had gone off in a boat. I said, 'This is rather serious.' He said, 'I don't think there's any occasion for it.'" Then the two men casually walked up to A deck where Ray went to a lifeboat.
Martin Rothschild perished in the disaster and his body, if recovered, was never identified. His wife and her pet dog were among the rescued.
Rothschild is commemorated in the Barrett family mausoleum in St Mary's Cemetery in Watkins Glen, New York.