├── .github
└── workflows
│ └── node.js.yml
├── LICENSE
├── README.md
├── assets
├── css
│ └── index.css
├── img
│ ├── branchs.png
│ ├── connectCenterRemoteStorage.png
│ ├── connectLocalAndRemote.png
│ ├── developBranch.png
│ ├── favicon.ico
│ ├── featureBranch.png
│ ├── git-github.jpg
│ ├── giticon.jpg
│ ├── giticons.png
│ ├── giticons3.png
│ ├── logo.png
│ ├── logo2.png
│ ├── masterBranch.png
│ ├── me.png
│ └── releaseBranch.png
├── js
│ ├── git_bangla.js
│ ├── git_english.js
│ └── index.js
├── json
│ ├── bangla.json
│ └── english.json
└── lib
│ ├── jquery
│ ├── jquery.js
│ └── jquery.min.js
│ └── materialize
│ ├── css
│ ├── icon.css
│ ├── materialize.css
│ └── materialize.min.css
│ └── js
│ ├── materialize.js
│ └── materialize.min.js
├── git-cmd.md
├── gitEnglish.html
└── index.html
/.github/workflows/node.js.yml:
--------------------------------------------------------------------------------
1 | # This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node
2 | # For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions
3 |
4 | name: Node.js CI
5 |
6 | on:
7 | push:
8 | branches: [ master ]
9 | pull_request:
10 | branches: [ master ]
11 |
12 | jobs:
13 | build:
14 |
15 | runs-on: ubuntu-latest
16 |
17 | strategy:
18 | matrix:
19 | node-version: [10.x, 12.x, 14.x]
20 |
21 | steps:
22 | - uses: actions/checkout@v2
23 | - name: Use Node.js ${{ matrix.node-version }}
24 | uses: actions/setup-node@v1
25 | with:
26 | node-version: ${{ matrix.node-version }}
27 | - run: npm ci
28 | - run: npm run build --if-present
29 | - run: npm test
30 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2020 Md Zinnatul Islam Morol
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | # git-Helper
6 |
7 | | **Web-responsibe - 1** | **Web-responsibe - 2** | **Mobile-responsibe** |
8 | | :-----------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------: |
9 | |  |  | 
10 | |
11 |
12 | ## Can I contribute to this project? :smiley:
13 |
14 | Of course, you can. It is an open-source project. If you want to contribute with us follow the procedures -
15 |
16 | - Fork the repository in your github account.
17 | - Clone it in your local and do the changes you want.
18 | - Make a PR with proper documentation of what you did as they say _Lack of proper documentation is becoming a problem for acceptence_ :wink:
19 |
20 | ## Contributor :nerd_face:
21 |
22 | Contributors who have worked/ working hard to keep this application up to date are -
23 |
24 | - [Jinnatul Islam Morol](https://www.facebook.com/mdjinnatul.islam)
25 | - Specially Thanks
26 | - [Zubayer Himel](https://www.facebook.com/zubayerhimel0) for fixed new color combination & responsibility
27 | - devsonket.github.io (Contributors) for (git-bangla) resources
28 | - World Friends korea (soongsil University) for (git-english) resources
29 |
30 | ### If you happen to like our work please give a star :star: on the repository
31 |
32 |
--------------------------------------------------------------------------------
/assets/css/index.css:
--------------------------------------------------------------------------------
1 | body {
2 | background-color: #048484;
3 | }
4 | main {
5 | display: none;
6 | }
7 | .mainLoader {
8 | display: none;
9 | }
10 | .navColor {
11 | background: #f4f4f4;
12 | }
13 | .customContainerBangla {
14 | margin-left: 3rem;
15 | margin-right: 3rem;
16 | }
17 | .headerText {
18 | color: #f4f4f4;
19 | }
20 | .logo {
21 | height: 100px;
22 | width: 100px;
23 | margin-top: 5px;
24 | }
25 | #scrollTop {
26 | display: none;
27 | }
28 | #logo {
29 | margin-left: 1rem;
30 | margin-top: 5px;
31 | }
32 | #navClass {
33 | background-color: rgb(33, 138, 174);
34 | }
35 | .ulText {
36 | color: #242323;
37 | }
38 |
39 | /* logo rotate 360 */
40 | #appLogo {
41 | width: 60px;
42 | height: 60px;
43 | margin: 2px 15px;
44 | border-radius: 50%;
45 | -webkit-animation: spin 10s linear infinite;
46 | -moz-animation: spin 10s linear infinite;
47 | animation: spin 10s linear infinite;
48 | -webkit-border-radius: 50%;
49 | -moz-border-radius: 50%;
50 | -ms-border-radius: 50%;
51 | -o-border-radius: 50%;
52 | }
53 | @-moz-keyframes spin {
54 | 100% {
55 | -moz-transform: rotate(360deg);
56 | }
57 | }
58 | @-webkit-keyframes spin {
59 | 100% {
60 | -webkit-transform: rotate(360deg);
61 | }
62 | }
63 | @keyframes spin {
64 | 100% {
65 | -webkit-transform: rotate(360deg);
66 | transform: rotate(360deg);
67 | }
68 | }
69 |
70 | .navid {
71 | width: 45%;
72 | margin: 5px 5px;
73 | }
74 |
75 | /* Pre loader */
76 | .mainLoader {
77 | top: 0px;
78 | left: 0px;
79 | width: 100%;
80 | height: 100%;
81 | position: fixed;
82 | display: flex;
83 | align-items: center;
84 | justify-content: center;
85 | background-color: #048484;
86 | }
87 |
88 | nav > ul > li {
89 | color: black;
90 | }
91 | .customContainer {
92 | margin: 2rem 4rem;
93 | }
94 |
95 | /* Code elements */
96 | .codejs {
97 | overflow-x: auto;
98 | margin: 5px 5px 5px 5px;
99 | background: #fff;
100 | color: #000000;
101 | }
102 |
103 | .codejs-keyword {
104 | color: #0099ff;
105 | font-size: 120%;
106 | font-weight: bold;
107 | }
108 |
109 | .codejs-cmd {
110 | color: #783baa;
111 | }
112 |
113 | .codejs-header {
114 | color: #ff1100;
115 | }
116 |
117 | .fontSize {
118 | font-size: 105%;
119 | }
120 |
--------------------------------------------------------------------------------
/assets/img/branchs.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jinnatul/gitHelper/c5be18ae794b721d7f0c8a1f2cc909605681e208/assets/img/branchs.png
--------------------------------------------------------------------------------
/assets/img/connectCenterRemoteStorage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jinnatul/gitHelper/c5be18ae794b721d7f0c8a1f2cc909605681e208/assets/img/connectCenterRemoteStorage.png
--------------------------------------------------------------------------------
/assets/img/connectLocalAndRemote.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jinnatul/gitHelper/c5be18ae794b721d7f0c8a1f2cc909605681e208/assets/img/connectLocalAndRemote.png
--------------------------------------------------------------------------------
/assets/img/developBranch.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jinnatul/gitHelper/c5be18ae794b721d7f0c8a1f2cc909605681e208/assets/img/developBranch.png
--------------------------------------------------------------------------------
/assets/img/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jinnatul/gitHelper/c5be18ae794b721d7f0c8a1f2cc909605681e208/assets/img/favicon.ico
--------------------------------------------------------------------------------
/assets/img/featureBranch.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jinnatul/gitHelper/c5be18ae794b721d7f0c8a1f2cc909605681e208/assets/img/featureBranch.png
--------------------------------------------------------------------------------
/assets/img/git-github.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jinnatul/gitHelper/c5be18ae794b721d7f0c8a1f2cc909605681e208/assets/img/git-github.jpg
--------------------------------------------------------------------------------
/assets/img/giticon.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jinnatul/gitHelper/c5be18ae794b721d7f0c8a1f2cc909605681e208/assets/img/giticon.jpg
--------------------------------------------------------------------------------
/assets/img/giticons.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jinnatul/gitHelper/c5be18ae794b721d7f0c8a1f2cc909605681e208/assets/img/giticons.png
--------------------------------------------------------------------------------
/assets/img/giticons3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jinnatul/gitHelper/c5be18ae794b721d7f0c8a1f2cc909605681e208/assets/img/giticons3.png
--------------------------------------------------------------------------------
/assets/img/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jinnatul/gitHelper/c5be18ae794b721d7f0c8a1f2cc909605681e208/assets/img/logo.png
--------------------------------------------------------------------------------
/assets/img/logo2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jinnatul/gitHelper/c5be18ae794b721d7f0c8a1f2cc909605681e208/assets/img/logo2.png
--------------------------------------------------------------------------------
/assets/img/masterBranch.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jinnatul/gitHelper/c5be18ae794b721d7f0c8a1f2cc909605681e208/assets/img/masterBranch.png
--------------------------------------------------------------------------------
/assets/img/me.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jinnatul/gitHelper/c5be18ae794b721d7f0c8a1f2cc909605681e208/assets/img/me.png
--------------------------------------------------------------------------------
/assets/img/releaseBranch.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jinnatul/gitHelper/c5be18ae794b721d7f0c8a1f2cc909605681e208/assets/img/releaseBranch.png
--------------------------------------------------------------------------------
/assets/js/git_bangla.js:
--------------------------------------------------------------------------------
1 | $(function() {
2 |
3 | $("main").hide();
4 |
5 | $.getJSON('assets/json/bangla.json', function() {})
6 | .done(function(res) {
7 |
8 | // Get data from functions
9 | getDataFromFun(res);
10 |
11 | // Copy clipBoard
12 | copyData_ClipBoard();
13 |
14 | // preloader
15 | setTimeout(function () {
16 | $(".mainLoader").fadeOut();
17 | $("main").show();
18 | }, 1000);
19 |
20 | })
21 | .fail(function() {
22 | showMaterialToast("Problem ....here! ", "red darken-4");
23 | });
24 |
25 | });
26 |
27 | // ClipBoard
28 | function copyData_ClipBoard() {
29 | $(".content").on("click",function(){
30 | let currentId = 'ID' + this.id;
31 | let copyText = $('#' + currentId).text();
32 | let input = document.createElement('input');
33 | input.value = copyText;
34 |
35 | document.body.appendChild(input);
36 | input.select();
37 | document.execCommand('copy');
38 | showMaterialToast("Copied ", "deep-purple darken-4");
39 | document.body.removeChild(input);
40 | });
41 | }
42 |
43 | function showMaterialToast(data, style) {
44 | M.toast({
45 | html : data,
46 | classes : style
47 | });
48 | }
49 |
50 | function getDataFromFun(res) {
51 | ইনসটল(res.gitData[0]);
52 | কনফিগ(res.gitData[1]);
53 | সাধারণ(res.gitData[2]);
54 | রিসেট(res.gitData[3]);
55 | আপডেট_এবং_ডিলিট(res.gitData[4]);
56 | বাঞচ(res.gitData[5]);
57 | মারজ(res.gitData[6]);
58 | সটাশ(res.gitData[7]);
59 | লগ(res.gitData[8]);
60 | তুলনা(res.gitData[9]);
61 | রিলিজ_এবং_ভারসন(res.gitData[10]);
62 | সহযোগিতা(res.gitData[11]);
63 | গিট_ফলো(res.gitData[12]);
64 | গিটহাব_ইসু(res.gitData[13]);
65 | }
66 |
67 | // Insert
68 | function ইনসটল(data) {
69 | let tableData = ""+ data.title +" ";
70 | for (let index = 0; index < data.items.length; index++) {
71 | tableData += ""+ data.items[index].gitQus +" "
72 | tableData += ""+ data.items[index].gitAns + " "
73 | tableData += ""
74 | tableData += "file_copy copy ";
75 | }
76 | tableData += "
";
77 | $('#gitInstall').html(tableData);
78 | }
79 |
80 | // Config
81 | function কনফিগ(data) {
82 | let tableData = ""+ data.title +" ";
83 | for (let index = 0; index < data.items.length; index++) {
84 | tableData += ""+ data.items[index].gitQus +" "
85 | tableData += ""+ data.items[index].gitAns + " "
86 | tableData += ""
87 | tableData += "file_copy copy ";
88 | }
89 | tableData += "
";
90 | $('#gitConfig').html(tableData);
91 | }
92 |
93 | // General
94 | function সাধারণ(data) {
95 | let tableData = ""+ data.title +" ";
96 | for (let index = 0; index < data.items.length; index++) {
97 | tableData += ""+ data.items[index].gitQus +" "
98 | tableData += ""+ data.items[index].gitAns + " "
99 | tableData += ""
100 | tableData += "file_copy copy ";
101 | }
102 | tableData += "
";
103 | $('#gitGeneral').html(tableData);
104 | }
105 |
106 | // Reset
107 | function রিসেট(data) {
108 | let tableData = ""+ data.title +" ";
109 | for (let index = 0; index < data.items.length; index++) {
110 | tableData += ""+ data.items[index].gitQus +" "
111 | tableData += ""+ data.items[index].gitAns + " "
112 | tableData += ""
113 | tableData += "file_copy copy ";
114 | }
115 | tableData += "
";
116 | $('#gitReset').html(tableData);
117 | }
118 |
119 | // Update & delete
120 | function আপডেট_এবং_ডিলিট(data) {
121 | let tableData = ""+ data.title +" ";
122 | for (let index = 0; index < data.items.length; index++) {
123 | tableData += ""+ data.items[index].gitQus +" "
124 | tableData += ""+ data.items[index].gitAns + " "
125 | tableData += ""
126 | tableData += "file_copy copy ";
127 | }
128 | tableData += "
";
129 | $('#gitUpdateDelete').html(tableData);
130 | }
131 |
132 | // Branch
133 | function বাঞচ(data) {
134 | let tableData = ""+ data.title +" ";
135 | for (let index = 0; index < data.items.length; index++) {
136 | tableData += ""+ data.items[index].gitQus +" "
137 | tableData += ""+ data.items[index].gitAns + " "
138 | tableData += ""
139 | tableData += "file_copy copy ";
140 | }
141 | tableData += "
";
142 | $('#gitBranch').html(tableData);
143 | }
144 |
145 | // Merge
146 | function মারজ(data) {
147 | let tableData = ""+ data.title +" ";
148 | for (let index = 0; index < data.items.length; index++) {
149 | tableData += ""+ data.items[index].gitQus +" "
150 | tableData += ""+ data.items[index].gitAns + " "
151 | tableData += ""
152 | tableData += "file_copy copy ";
153 | }
154 | tableData += "
";
155 | $('#gitMerge').html(tableData);
156 | }
157 |
158 | // Stash
159 | function সটাশ(data) {
160 | let tableData = ""+ data.title +" ";
161 | for (let index = 0; index < data.items.length; index++) {
162 | tableData += ""+ data.items[index].gitQus +" "
163 | tableData += ""+ data.items[index].gitAns + " "
164 | tableData += ""
165 | tableData += "file_copy copy ";
166 | }
167 | tableData += "
";
168 | $('#gitStash').html(tableData);
169 | }
170 |
171 | // Log
172 | function লগ(data) {
173 | let tableData = ""+ data.title +" ";
174 | for (let index = 0; index < data.items.length; index++) {
175 | tableData += ""+ data.items[index].gitQus +" "
176 | tableData += ""+ data.items[index].gitAns + " "
177 | tableData += ""
178 | tableData += "file_copy copy ";
179 | }
180 | tableData += "
";
181 | $('#gitLog').html(tableData);
182 | }
183 |
184 | // Compare
185 | function তুলনা(data) {
186 | let tableData = ""+ data.title +" ";
187 | for (let index = 0; index < data.items.length; index++) {
188 | tableData += ""+ data.items[index].gitQus +" "
189 | tableData += ""+ data.items[index].gitAns + " "
190 | tableData += ""
191 | tableData += "file_copy copy ";
192 | }
193 | tableData += "
";
194 | $('#gitCompare').html(tableData);
195 | }
196 |
197 | // Release & version
198 | function রিলিজ_এবং_ভারসন(data) {
199 | let tableData = ""+ data.title +" ";
200 | for (let index = 0; index < data.items.length; index++) {
201 | tableData += ""+ data.items[index].gitQus +" "
202 | tableData += ""+ data.items[index].gitAns + " "
203 | tableData += ""
204 | tableData += "file_copy copy ";
205 | }
206 | tableData += "
";
207 | $('#gitReleasesVersion').html(tableData);
208 | }
209 |
210 | // Collaborate
211 | function সহযোগিতা(data) {
212 | let tableData = ""+ data.title +" ";
213 | for (let index = 0; index < data.items.length; index++) {
214 | tableData += ""+ data.items[index].gitQus +" "
215 | tableData += ""+ data.items[index].gitAns + " "
216 | tableData += ""
217 | tableData += "file_copy copy ";
218 | }
219 | tableData += "
";
220 | $('#gitCollaborate').html(tableData);
221 | }
222 |
223 | // Git flow
224 | function গিট_ফলো(data) {
225 | let tableData = ""+ data.title +" ";
226 | for (let index = 0; index < data.items.length; index++) {
227 | tableData += ""+ data.items[index].gitQus +" "
228 | tableData += ""+ data.items[index].gitAns + " "
229 | tableData += ""
230 | tableData += "file_copy copy ";
231 | }
232 | tableData += "
";
233 | $('#gitFlow').html(tableData);
234 | }
235 |
236 | // Git Issue
237 | function গিটহাব_ইসু(data) {
238 | let tableData = ""+ data.title +" ";
239 | for (let index = 0; index < data.items.length; index+=3) {
240 | tableData += ""+ data.items[index].gitAns +" ";
241 | tableData += ""+ data.items[index + 1].gitAns +" ";
242 | tableData += ""+ data.items[index + 2].gitAns +" ";
243 | }
244 | tableData += "
";
245 | $('#gitIssues').html(tableData);
246 | }
--------------------------------------------------------------------------------
/assets/js/git_english.js:
--------------------------------------------------------------------------------
1 | $(function() {
2 |
3 | $("main").hide();
4 |
5 | $.getJSON('assets/json/english.json', function() {})
6 | .done(function(res) {
7 |
8 | // Part-1 Git Basic
9 | git_Basic(res.data);
10 |
11 | // Part-2 Git Branch
12 | git_Branch(res.data);
13 |
14 | // Part-3 Git Branch-Workflow
15 | git_BranchWorkflow(res.data);
16 |
17 | // Part-4 Git Forking-Workflow
18 | git_ForkingWorkflow(res.data);
19 |
20 | // Copy clipBoard
21 | copyData_ClipBoard();
22 |
23 | // preloader
24 | setTimeout(function () {
25 | $(".mainLoader").fadeOut();
26 | $(".collapsible").collapsible();
27 | $("main").show();
28 | }, 1000);
29 |
30 | })
31 | .fail(function() {
32 | showMaterialToast("Problem ....here! ", "red darken-4");
33 | });
34 | });
35 |
36 | // ClipBoard
37 | function copyData_ClipBoard() {
38 | $(".content").on("click",function(){
39 | let currentId = 'ID' + this.id;
40 | let copyText = $('#' + currentId).text();
41 | let input = document.createElement('input');
42 | input.value = copyText;
43 |
44 | document.body.appendChild(input);
45 | input.select();
46 | document.execCommand('copy');
47 | showMaterialToast("Copied ", "deep-purple darken-4");
48 | document.body.removeChild(input);
49 | });
50 | }
51 |
52 | // Show Toast
53 | function showMaterialToast(data, style) {
54 | M.toast({
55 | html : data,
56 | classes : style
57 | });
58 | }
59 |
60 | // Part-1 Git Basic
61 | function git_Basic(data) {
62 | let retrunStr = "";
63 |
64 | // What is Git?
65 | retrunStr += whatIsGit(data[0]);
66 | // Download Git
67 | retrunStr += downloadGit(data[1]);
68 | // Initialization and initial commit
69 | retrunStr += initializationAndInitialCommit(data[2]);
70 | // Using diff and making additional commit
71 | retrunStr += usingDiffAndMakingAdditionalCommit(data[3]);
72 | // Include your signature in commit
73 | retrunStr += includeYourSignatureInCommit(data[4]);
74 | // Let's push commit so far
75 | retrunStr += letsPushCommitSoFar(data[5]);
76 | // Cancel add
77 | retrunStr += cancelAdd(data[6]);
78 | // Clearing the commit
79 | retrunStr += clearingTheCommit(data[7]);
80 | // Clearing the commit Advance
81 | retrunStr += clearingTheCommitAdvance(data[8]);
82 | // Revert
83 | retrunStr += revert(data[9]);
84 | // Pull Request
85 | retrunStr += pullRequest(data[10]);
86 | // Merge
87 | retrunStr += merge(data[11]);
88 | // Rebase
89 | retrunStr += rebase(data[12]);
90 | // Rebase--interactive
91 | retrunStr += rebaseInteractive(data[13]);
92 | // Blame
93 | retrunStr += blame(data[14]);
94 | // Clean
95 | retrunStr += clean(data[15]);
96 | // Gitignore
97 | retrunStr += gitignore(data[16]);
98 |
99 | $('#git_basic').html(retrunStr + "");
100 | }
101 |
102 | // Part-2 Git Branch
103 | function git_Branch(data) {
104 | let retrunStr = "";
105 |
106 | // Feature Branch creation & termination
107 | retrunStr += staticbranchStr();
108 | // Feature Branch creation & termination
109 | retrunStr += featureBranchCreationTermination(data[17]);
110 | // Release Branch creation & termination
111 | retrunStr += releaseBranchCreationTermination(data[18]);
112 |
113 | $('#git_branchs').html(retrunStr + "");
114 | }
115 |
116 | // Part-3 Git Branch-Workflow
117 | function git_BranchWorkflow(data) {
118 | let retrunStr = "";
119 |
120 | // What is Feature Branch Workflow
121 | retrunStr += whatIsFeatureBranchWorkflow(data[19]);
122 | // Concept of Local Storage & Remote Storage
123 | retrunStr += conceptOfLocalStorageRemoteStorage(data[20]);
124 | // Create a local repository with git clone
125 | retrunStr += createlocalRepositoryWithGitClone(data[21]);
126 | // Check branch location
127 | retrunStr += checkBranchLocation(data[22]);
128 | // Create a new branch
129 | retrunStr += createNewBranch(data[23]);
130 | // Push the branch to the central remote repository
131 | retrunStr += pushTheBranchToTheCentralRemoteRepository(data[24]);
132 | // Send a full request to the project manager
133 | retrunStr += sendFullRequestToTheProjectManager(data[25]);
134 | // Synchronization
135 | retrunStr += synchronization(data[26]);
136 | // Create another branch for the new function
137 | retrunStr += createAnotherBranchForTheNewFunction(data[27]);
138 |
139 | $('#git_branchsWorkflow').html(retrunStr + "");
140 | }
141 |
142 | // Part-4 Git Forking-Workflow
143 | function git_ForkingWorkflow(data) {
144 | let retrunStr = "";
145 |
146 | // Fork the central remote repository
147 | retrunStr += forkTheCentralRemoteRepository(data[28]);
148 | // Create a local repository with the git clone command
149 | retrunStr += createLocalRepositoryWithTheGitCloneCommand(data[29]);
150 | // Connect two remote repositories
151 | retrunStr += connectTwoRemoteRepositories(data[30]);
152 | // Check branch location
153 | retrunStr += checkBranchLocation(data[31]);
154 | // Create a new branch for functional development
155 | retrunStr += createNewBranchForFunctionalDevelopment(data[32]);
156 | // Push the commit history to your remote repository
157 | retrunStr += pushTheCommitHistoryToYourRemoteRepository(data[33]);
158 |
159 | $('#git_forkingWorkflow').html(retrunStr + "");
160 | }
161 |
162 |
163 |
164 | /******* Part-1 Git Basic *******/
165 | // What is Git?
166 | function whatIsGit(data) {
167 | let gitStr = "";
168 | gitStr += ""
169 | gitStr += "";
170 | for (let index = 0; index < data.items.length; index++) {
171 | gitStr += ""+ data.items[index].gitQus +" "
172 | gitStr += ""+ data.items[index].gitAns +" "
173 | gitStr += "file_copy copy "
175 | }
176 | gitStr += "
";
177 | return gitStr;
178 | }
179 |
180 | // Download Git
181 | function downloadGit(data) {
182 | let gitStr = "";
183 | gitStr += ""
184 | gitStr += "";
185 | for (let index = 0; index < data.items.length; index++) {
186 | gitStr += ""+ data.items[index].gitQus +" "
187 | gitStr += ""+ data.items[index].gitAns +" "
188 | if (index > 0) {
189 | gitStr += "file_copy copy "
191 | }
192 | }
193 | gitStr += "
";
194 | return gitStr;
195 | }
196 |
197 | // Initialization and initial commit
198 | function initializationAndInitialCommit(data) {
199 | let gitStr = "";
200 | gitStr += ""
201 | gitStr += "";
202 | for (let index = 0; index < data.items.length; index++) {
203 | gitStr += ""+ data.items[index].gitQus +" "
204 | gitStr += ""+ data.items[index].gitAns +" "
205 | gitStr += "file_copy copy "
207 | }
208 | gitStr += "
";
209 | return gitStr;
210 | }
211 |
212 | // Using diff and making additional commit
213 | function usingDiffAndMakingAdditionalCommit(data) {
214 | let gitStr = "";
215 | gitStr += ""
216 | gitStr += "";
217 | for (let index = 0; index < data.items.length; index++) {
218 | gitStr += ""+ data.items[index].gitQus +" "
219 | gitStr += ""+ data.items[index].gitAns +" "
220 | gitStr += "file_copy copy "
222 | }
223 | gitStr += "
";
224 | return gitStr;
225 | }
226 |
227 | // Include your signature in commit
228 | function includeYourSignatureInCommit(data) {
229 | let gitStr = "";
230 | gitStr += ""
231 | gitStr += "";
232 | for (let index = 0; index < data.items.length; index++) {
233 | gitStr += ""+ data.items[index].gitQus +" "
234 | gitStr += ""+ data.items[index].gitAns +" "
235 | gitStr += "file_copy copy "
237 | }
238 | gitStr += "
";
239 | return gitStr;
240 | }
241 |
242 | // Let's push commit so far
243 | function letsPushCommitSoFar(data) {
244 | let gitStr = "";
245 | gitStr += ""
246 | gitStr += "";
247 | for (let index = 0; index < data.items.length; index++) {
248 | gitStr += ""+ data.items[index].gitQus +" "
249 | gitStr += ""+ data.items[index].gitAns +" "
250 | gitStr += "file_copy copy "
252 | }
253 | gitStr += "
";
254 | return gitStr;
255 | }
256 |
257 | // Cancel add
258 | function cancelAdd(data) {
259 | let gitStr = "";
260 | gitStr += ""
261 | gitStr += "";
262 | for (let index = 0; index < data.items.length; index++) {
263 | gitStr += ""+ data.items[index].gitQus +" "
264 | gitStr += ""+ data.items[index].gitAns +" "
265 | gitStr += "file_copy copy "
267 | }
268 | gitStr += "
";
269 | return gitStr;
270 | }
271 |
272 | // Clearing the commit
273 | function clearingTheCommit(data) {
274 | let gitStr = "";
275 | gitStr += ""
276 | gitStr += "";
277 | for (let index = 0; index < data.items.length; index++) {
278 | gitStr += ""+ data.items[index].gitQus +" "
279 | gitStr += ""+ data.items[index].gitAns +" "
280 | gitStr += "file_copy copy "
282 | }
283 | gitStr += "
";
284 | return gitStr;
285 | }
286 |
287 | // Clearing the commit
288 | function clearingTheCommit(data) {
289 | let gitStr = "";
290 | gitStr += ""
291 | gitStr += "";
292 | for (let index = 0; index < data.items.length; index++) {
293 | gitStr += ""+ data.items[index].gitQus +" "
294 | gitStr += ""+ data.items[index].gitAns +" "
295 | gitStr += "file_copy copy "
297 | }
298 | gitStr += "
";
299 | return gitStr;
300 | }
301 |
302 | // Clearing the commit Advance
303 | function clearingTheCommitAdvance(data) {
304 | let gitStr = "";
305 | gitStr += ""
306 | gitStr += "";
307 | for (let index = 0; index < data.items.length; index++) {
308 | gitStr += ""+ data.items[index].gitQus +" "
309 | gitStr += ""+ data.items[index].gitAns +" "
310 | gitStr += "file_copy copy "
312 | }
313 | gitStr += "
";
314 | return gitStr;
315 | }
316 |
317 | // Revert
318 | function revert(data) {
319 | let gitStr = "";
320 | gitStr += ""
321 | gitStr += "";
322 | for (let index = 0; index < data.items.length; index++) {
323 | gitStr += ""+ data.items[index].gitQus +" "
324 | gitStr += ""+ data.items[index].gitAns +" "
325 | gitStr += "file_copy copy "
327 | }
328 | gitStr += "
";
329 | return gitStr;
330 | }
331 |
332 | // Pull Request
333 | function pullRequest(data) {
334 | let gitStr = "";
335 | gitStr += ""
336 | gitStr += "";
337 | for (let index = 0; index < data.items.length; index++) {
338 | gitStr += ""+ data.items[index].gitQus +" "
339 | gitStr += ""+ data.items[index].gitAns +" "
340 | if (index < 3 || index == 4) continue;
341 | gitStr += "file_copy copy "
343 | }
344 | gitStr += "
";
345 | return gitStr;
346 | }
347 |
348 | // Merge
349 | function merge(data) {
350 | let gitStr = "";
351 | gitStr += ""
352 | gitStr += "";
353 | for (let index = 0; index < data.items.length; index++) {
354 | gitStr += ""+ data.items[index].gitQus +" "
355 | gitStr += ""+ data.items[index].gitAns +" "
356 | gitStr += "file_copy copy "
358 | }
359 | gitStr += "
";
360 | return gitStr;
361 | }
362 |
363 | // Rebase
364 | function rebase(data) {
365 | let gitStr = "";
366 | gitStr += ""
367 | gitStr += "";
368 | for (let index = 0; index < data.items.length; index++) {
369 | gitStr += ""+ data.items[index].gitQus +" "
370 | gitStr += ""+ data.items[index].gitAns +" "
371 | gitStr += "file_copy copy "
373 | }
374 | gitStr += "
";
375 | return gitStr;
376 | }
377 |
378 | // Rebase--interactive
379 | function rebaseInteractive(data) {
380 | let gitStr = "";
381 | gitStr += ""
382 | gitStr += "";
383 | for (let index = 0; index < data.items.length; index++) {
384 | gitStr += ""+ data.items[index].gitQus +" "
385 | gitStr += ""+ data.items[index].gitAns +" "
386 | gitStr += "file_copy copy "
388 | }
389 | gitStr += "
";
390 | return gitStr;
391 | }
392 |
393 | // Blame
394 | function blame(data) {
395 | let gitStr = "";
396 | gitStr += ""
397 | gitStr += "";
398 | for (let index = 0; index < data.items.length; index++) {
399 | gitStr += ""+ data.items[index].gitQus +" "
400 | gitStr += ""+ data.items[index].gitAns +" "
401 | gitStr += "file_copy copy "
403 | }
404 | gitStr += "
";
405 | return gitStr;
406 | }
407 |
408 | // Clean
409 | function clean(data) {
410 | let gitStr = "";
411 | gitStr += ""
412 | gitStr += "";
413 | for (let index = 0; index < data.items.length; index++) {
414 | gitStr += ""+ data.items[index].gitQus +" "
415 | gitStr += ""+ data.items[index].gitAns +" "
416 | gitStr += "file_copy copy "
418 | }
419 | gitStr += "
";
420 | return gitStr;
421 | }
422 |
423 | // Gitignore
424 | function gitignore(data) {
425 | let gitStr = "";
426 | gitStr += ""
427 | gitStr += "";
428 | for (let index = 0; index < data.items.length; index++) {
429 | gitStr += ""+ data.items[index].gitQus +" "
430 | gitStr += ""+ data.items[index].gitAns +" "
431 | gitStr += "file_copy copy "
433 | }
434 | gitStr += "
";
435 | return gitStr;
436 | }
437 |
438 | /******* Part-2 Git Branch *******/
439 | // Static Branch Str
440 | function staticbranchStr() {
441 | let gitStr = ""
442 | // Master Branch
443 | gitStr += ""
445 | gitStr += " "
447 |
448 | // Develop Branch
449 | gitStr += ""
451 | gitStr += " "
453 |
454 | // Feature Branch
455 | gitStr += ""
457 | gitStr += " "
459 | return gitStr;
460 | }
461 |
462 | // Feature Branch creation & termination
463 | function featureBranchCreationTermination(data) {
464 | let gitStr = ""
465 | gitStr += ""
466 | gitStr += "";
467 | for (let index = 0; index < data.items.length; index++) {
468 | gitStr += ""+ data.items[index].gitQus +" "
469 | gitStr += ""+ data.items[index].gitAns +" "
470 | gitStr += "file_copy copy "
472 | }
473 | gitStr += "
";
474 | return gitStr;
475 | }
476 |
477 | // Release Branch creation & termination
478 | function releaseBranchCreationTermination(data) {
479 | let gitStr = ""
480 | gitStr += ""
481 | gitStr += "";
482 | for (let index = 0; index < data.items.length; index++) {
483 | gitStr += ""+ data.items[index].gitQus +" "
484 | gitStr += ""+ data.items[index].gitAns +" "
485 | gitStr += "file_copy copy "
487 | }
488 | gitStr += "
";
489 |
490 | // The whole flow of the branch
491 | gitStr += ""
493 | gitStr += " "
495 |
496 | return gitStr;
497 | }
498 |
499 |
500 | /******* Part-3 Git Branch-Workflow*******/
501 | // What is Feature Branch Workflow
502 | function whatIsFeatureBranchWorkflow(data) {
503 | let gitStr = ""
504 | gitStr += ""
505 | gitStr += "";
506 |
507 | gitStr += "
";
508 | return gitStr;
509 | }
510 |
511 | // Concept of Local Storage & Remote Storage
512 | function conceptOfLocalStorageRemoteStorage(data) {
513 | let gitStr = ""
514 | gitStr += ""
515 | gitStr += "";
516 |
517 | gitStr += "
";
518 | return gitStr;
519 | }
520 |
521 | // Create a local repository with git clone
522 | function createlocalRepositoryWithGitClone(data) {
523 | let gitStr = ""
524 | gitStr += ""
525 | gitStr += "";
526 |
527 | gitStr += "
";
528 | return gitStr;
529 | }
530 |
531 | // Check branch location
532 | function checkBranchLocation(data) {
533 | let gitStr = ""
534 | gitStr += ""
535 | gitStr += "";
536 |
537 | gitStr += "
";
538 | return gitStr;
539 | }
540 |
541 | // Create a new branch
542 | function createNewBranch(data) {
543 | let gitStr = ""
544 | gitStr += ""
545 | gitStr += "";
546 |
547 | gitStr += "
";
548 | return gitStr;
549 | }
550 |
551 | // Push the branch to the central remote repository
552 | function pushTheBranchToTheCentralRemoteRepository(data) {
553 | let gitStr = ""
554 | gitStr += ""
555 | gitStr += "";
556 |
557 | gitStr += "
";
558 | return gitStr;
559 | }
560 |
561 | // Send a full request to the project manager
562 | function sendFullRequestToTheProjectManager(data) {
563 | let gitStr = ""
564 | gitStr += ""
565 | gitStr += "";
566 |
567 | gitStr += "
";
568 | return gitStr;
569 | }
570 |
571 | // Synchronization
572 | function synchronization(data) {
573 | let gitStr = ""
574 | gitStr += ""
575 | gitStr += "";
576 |
577 | gitStr += "
";
578 | return gitStr;
579 | }
580 |
581 | // Create another branch for the new function
582 | function createAnotherBranchForTheNewFunction(data) {
583 | let gitStr = ""
584 | gitStr += ""
585 | gitStr += "";
586 |
587 | gitStr += "
";
588 | return gitStr;
589 | }
590 |
591 | /******* Part-4 Git Forking-Workflow*******/
592 |
593 | // Fork the central remote repository
594 | function forkTheCentralRemoteRepository(data) {
595 | let gitStr = ""
596 | gitStr += ""
597 | gitStr += "";
598 |
599 | gitStr += "
";
600 | return gitStr;
601 | }
602 |
603 | // Create a local repository with the git clone command
604 | function createLocalRepositoryWithTheGitCloneCommand(data) {
605 | let gitStr = ""
606 | gitStr += ""
607 | gitStr += "";
608 |
609 | gitStr += "
";
610 | return gitStr;
611 | }
612 |
613 | // Connect two remote repositories
614 | function connectTwoRemoteRepositories(data) {
615 | let gitStr = ""
616 | gitStr += ""
617 | gitStr += "";
618 |
619 | gitStr += "
";
620 | return gitStr;
621 | }
622 |
623 | // Check branch location
624 | function checkBranchLocation(data) {
625 | let gitStr = ""
626 | gitStr += ""
627 | gitStr += "";
628 |
629 | gitStr += "
";
630 | return gitStr;
631 | }
632 |
633 | // Create a new branch for functional development
634 | function createNewBranchForFunctionalDevelopment(data) {
635 | let gitStr = ""
636 | gitStr += ""
637 | gitStr += "";
638 |
639 | gitStr += "
";
640 | return gitStr;
641 | }
642 |
643 | // Push the commit history to your remote repository
644 | function pushTheCommitHistoryToYourRemoteRepository(data) {
645 | let gitStr = ""
646 | gitStr += ""
647 | gitStr += "";
648 |
649 | gitStr += "
";
650 | return gitStr;
651 | }
--------------------------------------------------------------------------------
/assets/js/index.js:
--------------------------------------------------------------------------------
1 | $(function () {
2 |
3 | // collapsible
4 | $(document).ready(function () {
5 | $(".collapsible").collapsible();
6 | $(".dropdown-trigger").dropdown();
7 | $(".sidenav").sidenav();
8 | });
9 |
10 | // navbar dropdown
11 |
12 | // Smooth scrolling
13 | var scrollLink = $(".scroll");
14 | scrollLink.click(function (e) {
15 | e.preventDefault();
16 | $("body,html").animate(
17 | {
18 | scrollTop: $(this.hash).offset().top,
19 | },
20 | 2000
21 | );
22 | });
23 | });
24 |
--------------------------------------------------------------------------------
/assets/json/bangla.json:
--------------------------------------------------------------------------------
1 | {
2 | "gitData": [
3 | {
4 | "title": "ইন্সটল (Setup)",
5 | "items": [
6 | {
7 | "gitQus": "গিট ইনস্টল ম্যাক",
8 | "gitAns": "brew install git"
9 | },
10 | {
11 | "gitQus": "গিট আনইনস্টল ম্যাক",
12 | "gitAns": "brew remove git"
13 | },
14 | {
15 | "gitQus": "গিট আনইনস্টল উবুন্টু",
16 | "gitAns": "sudo apt-get remove git"
17 | },
18 | {
19 | "gitQus": "গিট ইনস্টল উবুন্টু",
20 | "gitAns": "sudo apt-get install git"
21 | },
22 | {
23 | "gitQus": "গিট ভার্সন চেক",
24 | "gitAns": "git --version"
25 | },
26 | {
27 | "gitQus": "গিটটি কোথায় রয়েছে তা দেখুন",
28 | "gitAns": "which git"
29 | },
30 | {
31 | "gitQus": "গিট সাহায্য",
32 | "gitAns": "git help"
33 | }
34 | ]
35 | },
36 | {
37 | "title": "কনফিগ (Config)",
38 | "items": [
39 | {
40 | "gitQus": "গিট এর গ্লোবাল ইউজার নেম সেট করা",
41 | "gitAns": "git config --global user.name \"username\""
42 | },
43 | {
44 | "gitQus": "গিট এর গ্লোবাল ইউজার নেম চেক করা",
45 | "gitAns": "git config --global user.name"
46 | },
47 | {
48 | "gitQus": "গিট এর গ্লোবাল ইউজার ইমেল সেট করা",
49 | "gitAns": "git config --global user.email \"user@name.com\""
50 | },
51 | {
52 | "gitQus": "গিট এর গ্লোবাল ইউজার ইমেল চেক করা",
53 | "gitAns": "git config --global user.email"
54 | },
55 | {
56 | "gitQus": "গিট এর লোকাল/একটি নির্দিষ্ট রিপোজিটরির ইউজার নেম সেট করা",
57 | "gitAns": "git config user.name \"username\""
58 | },
59 | {
60 | "gitQus": "গিট এর লোকাল/একটি নির্দিষ্ট রিপোজিটরির ইউজার নেম চেক করা",
61 | "gitAns": "git config user.name"
62 | },
63 | {
64 | "gitQus": "গিট এর লোকাল/একটি নির্দিষ্ট রিপোজিটরির ইউজার ইমেল সেট করা",
65 | "gitAns": "git config user.email \"user@name.com\""
66 | },
67 | {
68 | "gitQus": "গিট এর লোকাল/একটি নির্দিষ্ট রিপোজিটরির ইউজার ইমেল চেক করা",
69 | "gitAns": "git config user.email"
70 | },
71 | {
72 | "gitQus": "গিট এর গ্লোবাল ইউজার নেম বাতিল করা",
73 | "gitAns": "git config --global --unset-all user.name"
74 | },
75 | {
76 | "gitQus": "গিট এর গ্লোবাল ইউজার ইমেইল বাতিল করা",
77 | "gitAns": "git config --global --unset-all user.email"
78 | },
79 | {
80 | "gitQus": "গিট এর লোকাল/একটি নির্দিষ্ট রিপোজিটরির ইউজার নেম বাতিল করা",
81 | "gitAns": "git config --unset user.name"
82 | },
83 | {
84 | "gitQus": "গিট এর লোকাল/একটি নির্দিষ্ট রিপোজিটরির ইউজার ইমেইল বাতিল করা",
85 | "gitAns": "git config --unset user.email"
86 | },
87 | {
88 | "gitQus": "একটি নির্দিষ্ট ব্রাঞ্চের জন্য ইউজার নেম, পাসওয়ার্ড সেভ করা",
89 | "gitAns": "git config credential.helper store"
90 | },
91 | {
92 | "gitQus": "সকল ব্রাঞ্চের জন্য ইউজার নেম, পাসওয়ার্ড সেভ করা",
93 | "gitAns": "git config --global credential.helper store"
94 | }
95 | ]
96 | },
97 | {
98 | "title": "সাধারণ (General)",
99 | "items": [
100 | {
101 | "gitQus": "নতুন রিপোসিটোরি তৈরী করা",
102 | "gitAns": "git init"
103 | },
104 | {
105 | "gitQus": "কোনো রিপোসিটোরি ক্লোন করা(লোকাল মেশিনে ডাউনলোড করা)",
106 | "gitAns": "git clone [url]"
107 | },
108 | {
109 | "gitQus": "রিপোসিটোরি এর বর্তমান অবস্থা/পরিবর্তনগুলো দেখা (নতুন অথবা পুরোনো, কি কি ফাইল কমিট করতে হবে, ওয়ার্কিং ব্রাঞ্চ ইত্যাদি)",
110 | "gitAns": "git status"
111 | },
112 | {
113 | "gitQus": "কমিট এর জন্যে সব পরিবর্তিত ফাইল এড করা",
114 | "gitAns": "git add OR git add . OR git add --all"
115 | },
116 | {
117 | "gitQus": "কাস্টম ফাইল কমিট এর জন্যে এড করা ",
118 | "gitAns": "git add index.html OR git add [file]"
119 | },
120 | {
121 | "gitQus": "একটি নির্দিষ্ট এক্সটেনশন এর সকল ফাইল এড করা",
122 | "gitAns": "git add *.ext"
123 | },
124 | {
125 | "gitQus": "একটি নির্দিষ্ট ফোল্ডারের সকল ফাইল এড করা",
126 | "gitAns": "git add /folder"
127 | },
128 | {
129 | "gitQus": "একটি নির্দিষ্ট ফোল্ডারের একটি নির্দিষ্ট এক্সটেনশন এর সকল ফাইল এড করা",
130 | "gitAns": "git add folder/*.ext"
131 | },
132 | {
133 | "gitQus": "রিপোসিটোরি তে কিছু কমিট করা (কমিট মেসেজসহ)",
134 | "gitAns": "git commit -m \"YourCommitMessage\""
135 | },
136 | {
137 | "gitQus": "কমিট মেসেজ সংশোধন করা",
138 | "gitAns": "git commit --amend -m \"your message\""
139 | },
140 | {
141 | "gitQus": "টাইটেল এবং ডেসক্রিপশন সহ কমিট করতে",
142 | "gitAns": "git commit -m \"Title\" -m \"Description...\""
143 | },
144 | {
145 | "gitQus": "অ্যাড এবং কমিট এক স্টেপ এ করতে",
146 | "gitAns": "git commit -am \"Message\""
147 | },
148 | {
149 | "gitQus": "সমস্ত পরিবর্তন আপডেট করতে",
150 | "gitAns": "git add -u"
151 | },
152 | {
153 | "gitQus": "ফাইল রিমুভ করতে",
154 | "gitAns": "git rm index.html"
155 | },
156 | {
157 | "gitQus": "রিপোজিটরিতে এড করা ফাইল আনট্র্যাক করা",
158 | "gitAns": "git rm --cached index.html OR git rm --cached filename"
159 | },
160 | {
161 | "gitQus": "gitignore এ থাকা সকল ফাইল আনট্র্যাক করা",
162 | "gitAns": "git rm -r --cached ."
163 | },
164 | {
165 | "gitQus": "ফাইল মুভ অথবা রিনেইম করতে",
166 | "gitAns": "git mv index.html dir/index_new.html"
167 | },
168 | {
169 | "gitQus": "নির্দিষ্ট কমিট পরিবর্তন না করা (ফাইল সর্বশেষ কমিট ভার্সন থেকে রিস্টোর করতে)",
170 | "gitAns": "git checkout -- index.html"
171 | },
172 | {
173 | "gitQus": "সকল কমিট পরিবর্তন না করা",
174 | "gitAns": "git checkout -- ."
175 | },
176 | {
177 | "gitQus": "ফাইল কাস্টম কমিট ভার্সন থেকে রিস্টোর করতে (কারেন্ট ব্রাঞ্চ এ)",
178 | "gitAns": "git checkout 6eb715d -- index.html"
179 | }
180 | ]
181 | },
182 | {
183 | "title": "রিসেট (Reset)",
184 | "items": [
185 | {
186 | "gitQus": "কমিট প্রত্যাবর্তন করা",
187 | "gitAns": "git revert 073791e7dd71b90daa853b2c5acc2c925f02dbc6 OR git revert "
188 | },
189 | {
190 | "gitQus": "নির্দিষ্ট কমিট প্রত্যাবর্তন করা",
191 | "gitAns": "git revert -n "
192 | },
193 | {
194 | "gitQus": "সফট রিসেট (move HEAD only; neither staging nor working dir is changed)",
195 | "gitAns": "git reset --soft 073791e7dd71b90daa853b2c5acc2c925f02dbc6"
196 | },
197 | {
198 | "gitQus": "শেষ কমিট থেকে stage এরিয়া তে মুভ করা",
199 | "gitAns": "git reset --soft HEAD~"
200 | },
201 | {
202 | "gitQus": "মিক্সেড রিসেট (move HEAD and change staging to match repo; does not affect working dir)",
203 | "gitAns": "git reset --mixed 073791e7dd71b90daa853b2c5acc2c925f02dbc6"
204 | },
205 | {
206 | "gitQus": "হার্ড রিসেট (move HEAD and change staging dir and working dir to match repo)",
207 | "gitAns": "git reset --hard 073791e7dd71b90daa853b2c5acc2c925f02dbc6"
208 | },
209 | {
210 | "gitQus": "শেষ কমিট ডিলেট করা",
211 | "gitAns": "git reset --hard HEAD^"
212 | },
213 | {
214 | "gitQus": "শেষ দুটি কমিট ডিলেট করা",
215 | "gitAns": "git reset --hard HEAD^^"
216 | },
217 | {
218 | "gitQus": "সিঙ্গেল ফাইল হার্ড রিসেট করতে (@ is short for HEAD)",
219 | "gitAns": "git checkout @ -- index.html"
220 | }
221 | ]
222 | },
223 | {
224 | "title": "আপডেট এবং ডিলিট (Update & Delete)",
225 | "items": [
226 | {
227 | "gitQus": "আনট্র্যাক ফাইলগুলো টেস্ট ডিলিট করতে",
228 | "gitAns": "git clean -n"
229 | },
230 | {
231 | "gitQus": "আনট্র্যাক ফাইলগুলো ডিলিট করতে",
232 | "gitAns": "git clean -f"
233 | },
234 | {
235 | "gitQus": "আনস্টেজড (undo adds)",
236 | "gitAns": "git reset HEAD index.html"
237 | }
238 | ]
239 | },
240 | {
241 | "title": "ব্রাঞ্চ (Branch)",
242 | "items": [
243 | {
244 | "gitQus": "সব লোকাল ব্রাঞ্চ এর নাম লিস্ট করা",
245 | "gitAns": "git branch"
246 | },
247 | {
248 | "gitQus": "নতুন ব্রাঞ্চ তৈরী",
249 | "gitAns": "git branch [branch_name]"
250 | },
251 | {
252 | "gitQus": "ব্রাঞ্চ চেঞ্জ করতে",
253 | "gitAns": "git checkout [branch_name]"
254 | },
255 | {
256 | "gitQus": "ব্রাঞ্চ তৈরী এবং চেঞ্জ করা",
257 | "gitAns": "git checkout -b \"branch name\""
258 | },
259 | {
260 | "gitQus": "রিপোজিটরি/ব্রাঞ্চ রিনেম করা",
261 | "gitAns": "git branch -m branchname new_branchname OR git branch --move branchname new_branchname"
262 | },
263 | {
264 | "gitQus": "কারেন্ট ব্রাঞ্চ এর সাথে মার্জ করা সকল ব্রাঞ্চগুলো শো করতে",
265 | "gitAns": "git branch --merged"
266 | },
267 | {
268 | "gitQus": "ব্রাঞ্চ রিমুভ করা (only possible if not HEAD)",
269 | "gitAns": "git branch -d branchname OR git branch --delete branchname"
270 | },
271 | {
272 | "gitQus": "রিমোট ব্রাঞ্চ রিমুভ করা",
273 | "gitAns": "git push --delete origin [branch-name]"
274 | },
275 | {
276 | "gitQus": "মার্জ করা না এমন ব্রাঞ্চ রিমুভ করতে",
277 | "gitAns": "git branch -D branch_to_delete"
278 | }
279 | ]
280 | },
281 | {
282 | "title": "মার্জ (Merge)",
283 | "items": [
284 | {
285 | "gitQus": "ট্রু মার্জ (fast forward)",
286 | "gitAns": "git merge branchname"
287 | },
288 | {
289 | "gitQus": "মাস্টারে মার্জ করতে (only if fast forward)",
290 | "gitAns": "git merge --ff-only branchname"
291 | },
292 | {
293 | "gitQus": "মাস্টারে মার্জ করতে (force a new commit)",
294 | "gitAns": "git merge --no-ff branchname"
295 | },
296 | {
297 | "gitQus": "মার্জ বন্ধ করতে (in case of conflicts)",
298 | "gitAns": "git merge --abort"
299 | },
300 | {
301 | "gitQus": "মার্জ বন্ধ করতে (in case of conflicts)",
302 | "gitAns": "git reset --merge // prior to v1.7.4"
303 | },
304 | {
305 | "gitQus": "লোকাল মার্জ আন্ডু করতে যেই মার্জটি এখনো পুশ করা হইনাই",
306 | "gitAns": "git reset --hard origin/master"
307 | },
308 | {
309 | "gitQus": "স্পেসিফিক একটি কমিট মার্জ করতে",
310 | "gitAns": "git cherry-pick 073791e7"
311 | },
312 | {
313 | "gitQus": "রিবেস",
314 | "gitAns": "git checkout branchname » git rebase master OR git merge master branchname"
315 | },
316 | {
317 | "gitQus": "রিবেস ক্যানসেল করতে",
318 | "gitAns": "git rebase --abort"
319 | },
320 | {
321 | "gitQus": "মাল্টিপল কমিট একটি কমিট এ স্কোয়াশ করতে",
322 | "gitAns": "git rebase -i HEAD~3 (source)"
323 | },
324 | {
325 | "gitQus": "ফীচার ব্রাঞ্চ Squash-merge করতে (একটি কমিট এ)",
326 | "gitAns": "git merge --squash branchname (commit afterwards)"
327 | }
328 | ]
329 | },
330 | {
331 | "title": "স্টাশ (Stash)",
332 | "items": [
333 | {
334 | "gitQus": "স্টাশ এ রাখতে",
335 | "gitAns": "git stash save \"Message\""
336 | },
337 | {
338 | "gitQus": "স্টাশ লিস্ট শো করতে",
339 | "gitAns": "git stash list"
340 | },
341 | {
342 | "gitQus": "স্টাশ স্ট্যাটাস শো করতে",
343 | "gitAns": "git stash show stash@{0}"
344 | },
345 | {
346 | "gitQus": "স্টাশ এর পরিবর্তনগুলি শো করতে",
347 | "gitAns": "git stash show -p stash@{0}"
348 | },
349 | {
350 | "gitQus": "কাস্টম স্টাশ আইটেম ব্যবহার এবং ড্রপ করতে",
351 | "gitAns": "git stash pop stash@{0}"
352 | },
353 | {
354 | "gitQus": "কাস্টম স্টাশ আইটেম ব্যবহার এবং ড্রপ না করতে",
355 | "gitAns": "git stash apply stash@{0}"
356 | },
357 | {
358 | "gitQus": "কাস্টম স্টাশ আইটেম ব্যবহার এবং ইনডেক্স করতে",
359 | "gitAns": "git stash apply --index"
360 | },
361 | {
362 | "gitQus": "স্টাশ থেকে নতুন ব্রাঞ্চ করতে",
363 | "gitAns": "git stash branch new_branch"
364 | },
365 | {
366 | "gitQus": "কাস্টম স্টাশ আইটেম বাদ দিতে",
367 | "gitAns": "git stash drop stash@{0}"
368 | },
369 | {
370 | "gitQus": "সম্পূর্ণ স্টাশ ডিলিট করতে",
371 | "gitAns": "git stash clear"
372 | }
373 | ]
374 | },
375 | {
376 | "title": "লগ (Log)",
377 | "items": [
378 | {
379 | "gitQus": "কমিট লগ বিস্তারিত দেখতে",
380 | "gitAns": "git log"
381 | },
382 | {
383 | "gitQus": "এক লাইন এ কমিট লগ এর সামারি শো করতে",
384 | "gitAns": "git log --oneline"
385 | },
386 | {
387 | "gitQus": "এক লাইন এ কমিট লগ এর সামারি ফুল SHA-1 ফরম্যাট এ শো করতে",
388 | "gitAns": "git log --format=oneline"
389 | },
390 | {
391 | "gitQus": "কমিট লগ সামারি আকারে দেখতে((৫টি)",
392 | "gitAns": "git log --oneline -5"
393 | },
394 | {
395 | "gitQus": "শুধুমাত্র কাস্টম কমিটগুলো শো করতে",
396 | "gitAns": "git log --author=\"Sven\" git log --grep=\"Message\" git log --until=2013-01-01 git log --since=2013-01-01"
397 | },
398 | {
399 | "gitQus": "শুধুমাত্র কাস্টম কমিট এর ডাটা শো করতে",
400 | "gitAns": "git log --format=short git log --format=full git log --format=fuller git log --format=email git log --format=raw"
401 | },
402 | {
403 | "gitQus": "পরিবর্তনগুলি শো করতে",
404 | "gitAns": "git log -p"
405 | },
406 | {
407 | "gitQus": "শুধুমাত্র কাস্টম ফাইল এর সবগুলো কমিট শো করতে",
408 | "gitAns": "git log 6eb715d.. index.html"
409 | },
410 | {
411 | "gitQus": "শুধুমাত্র কাস্টম ফাইল এর সবগুলো কমিট এর পরিবর্তনগুলি শো করতে",
412 | "gitAns": "git log -p 6eb715d.. index.html"
413 | },
414 | {
415 | "gitQus": "কমিটগুলোর স্ট্যাটাস এবং সামারি শো করতে",
416 | "gitAns": "git log --stat --summary"
417 | },
418 | {
419 | "gitQus": "কমিটগুলোর হিস্ট্রি গ্রাফ আকারে শো করতে",
420 | "gitAns": "git log --graph"
421 | },
422 | {
423 | "gitQus": "কমিটগুলোর হিস্ট্রি গ্রাফ আকারে সামারি শো করতে",
424 | "gitAns": "git log --oneline --graph --all --decorate"
425 | }
426 | ]
427 | },
428 | {
429 | "title": "তুলনা (Compare)",
430 | "items": [
431 | {
432 | "gitQus": "শেষ কমিট এবং বর্তমান unstaged ভার্শনের পার্থক্য দেখা",
433 | "gitAns": "git diff"
434 | },
435 | {
436 | "gitQus": "মডিফাইড ফাইলস তুলনা এবং পরিবর্তনগুলি হাইলাইট করতে",
437 | "gitAns": "git diff --color-words index.html"
438 | },
439 | {
440 | "gitQus": "শেষ কমিট এবং বর্তমান staged ভার্শনের পার্থক্য দেখা",
441 | "gitAns": "git diff --staged"
442 | },
443 | {
444 | "gitQus": "ব্রাঞ্চগুলো তুলনা করতে",
445 | "gitAns": "git diff master..branchname"
446 | },
447 | {
448 | "gitQus": "উপরের মত ব্রাঞ্চগুলো তুলনা করতে",
449 | "gitAns": "git diff --color-words master..branchname^"
450 | },
451 | {
452 | "gitQus": "কমিটগুলো তুলনা করতে",
453 | "gitAns": "git diff 6eb715d git diff 6eb715d..HEAD git diff 6eb715d..537a09f"
454 | },
455 | {
456 | "gitQus": "ফাইল এর কমিটগুলো তুলনা করতে",
457 | "gitAns": "git diff 6eb715d index.html git diff 6eb715d..537a09f index.html"
458 | },
459 | {
460 | "gitQus": "দরকারী তুলনা",
461 | "gitAns": "git diff --stat --summary 6eb715d..HEAD"
462 | },
463 | {
464 | "gitQus": "ব্ল্যাম",
465 | "gitAns": "git blame -L10,+1 index.html"
466 | }
467 | ]
468 | },
469 | {
470 | "title": "রিলিজ & ভার্সন (Releases & Version)",
471 | "items": [
472 | {
473 | "gitQus": "ট্যাগ লিস্ট দেখতে",
474 | "gitAns": "git tag"
475 | },
476 | {
477 | "gitQus": "ট্যাগ তৈরি করা",
478 | "gitAns": "git tag [tag-name]"
479 | },
480 | {
481 | "gitQus": "প্রকাশিত সবগুলো ভার্শন কমিটগুলো সহ শো করতে",
482 | "gitAns": "git tag -l -n1"
483 | },
484 | {
485 | "gitQus": "রিলিজ ভার্শন তৈরী করতে",
486 | "gitAns": "git tag v1.0.0"
487 | },
488 | {
489 | "gitQus": "কমেন্টসহ রিলিজ ভার্শন তৈরী করতে",
490 | "gitAns": "git tag -a v1.0.0 -m 'Message'"
491 | },
492 | {
493 | "gitQus": "নির্দিষ্ট রিলিজ ভার্শনে চেকআউট করতে",
494 | "gitAns": "git checkout v1.0.0"
495 | }
496 | ]
497 | },
498 | {
499 | "title": "সহযোগিতা (Collaborate)",
500 | "items": [
501 | {
502 | "gitQus": "রিমোট শো করতে",
503 | "gitAns": "git remote"
504 | },
505 | {
506 | "gitQus": "সবগুলো রিমোটের লিস্ট নাম এবং URL সহ দেখা",
507 | "gitAns": "git remote -v"
508 | },
509 | {
510 | "gitQus": "রিমোট এড করা",
511 | "gitAns": "git remote add RemoteName RemoteURL"
512 | },
513 | {
514 | "gitQus": "Fork রিপোসিটোরি ক্ষেত্রে আপস্ট্রিম রিমোট কনফিগার করা",
515 | "gitAns": "git remote add upstream https://github.com/user/project.git"
516 | },
517 | {
518 | "gitQus": "সার্ভারে আপস্ট্রিম রিমোট কনফিগার করা",
519 | "gitAns": "git remote add upstream ssh://root@123.123.123.123/path/to/repository/.git"
520 | },
521 | {
522 | "gitQus": "অন্য রিপোসিটোরি থেকে ব্রাঞ্চ/রেফ/অবজেক্ট fetch করা",
523 | "gitAns": "git fetch RepositoryName"
524 | },
525 | {
526 | "gitQus": "Fetch/Fork রিপোসিটোরি কে আপস্ট্রিম এর সাথে up-to-date রাখা",
527 | "gitAns": "git fetch upstream"
528 | },
529 | {
530 | "gitQus": "fetched কমিটগুলো মার্জ করতে",
531 | "gitAns": "git merge upstream/master OR git merge upstream/branchname"
532 | },
533 | {
534 | "gitQus": "কাস্টম ব্রাঞ্চ Fetch করতে",
535 | "gitAns": "git fetch upstream branchname:local_branchname"
536 | },
537 | {
538 | "gitQus": "অরিজিন রিমুভ করতে",
539 | "gitAns": "git remote rm origin"
540 | },
541 | {
542 | "gitQus": "সব রিমোট ব্রাঞ্চ এর নাম লিস্ট করা",
543 | "gitAns": "git branch -r"
544 | },
545 | {
546 | "gitQus": "সব লোকাল এবং রিমোট ব্রাঞ্চ এর নাম লিস্ট করা",
547 | "gitAns": "git branch -a"
548 | },
549 | {
550 | "gitQus": "রিমোট ব্রাঞ্চ থেকে ব্রাঞ্চ তৈরি এবং চেকআউট করতে",
551 | "gitAns": "git checkout -b local_branchname upstream/remote_branchname"
552 | },
553 | {
554 | "gitQus": "রিপোসিটোরি তে লোকাল ব্রাঞ্চ থেকে আপলোড করা",
555 | "gitAns": "git push -u origin master OR git push -u origin [branchName]"
556 | },
557 | {
558 | "gitQus": "পুশ",
559 | "gitAns": "git push origin master"
560 | },
561 | {
562 | "gitQus": "ফোর্স পুশ",
563 | "gitAns": "`git push origin master --force"
564 | },
565 | {
566 | "gitQus": "রিপোসিটোরি থেকে নতুন চেঞ্জ গুলো পুল করা",
567 | "gitAns": "git pull"
568 | },
569 | {
570 | "gitQus": "স্পেসিফিক ব্রাঞ্চ পুল করতে",
571 | "gitAns": "git pull origin branchname"
572 | },
573 | {
574 | "gitQus": "কোনো রিপোসিটোরি ক্লোন করা(লোকাল মেশিনে ডাউনলোড করা)",
575 | "gitAns": "git clone https://github.com/user/project.git OR git clone ssh://user@domain.com/~/dir/.git"
576 | },
577 | {
578 | "gitQus": "লোকাল ফোল্ডার এ ক্লোন করতে",
579 | "gitAns": "git clone https://github.com/user/project.git ~/dir/folder"
580 | },
581 | {
582 | "gitQus": "স্পেসিফিক ব্রাঞ্চ লোকাল এ ক্লোন করতে",
583 | "gitAns": "git clone -b branchname https://github.com/user/project.git"
584 | },
585 | {
586 | "gitQus": "অথেনটিকেশন টোকেন ব্যবহার করে ক্লোন করতে",
587 | "gitAns": "git clone https://oauth2:@gitlab.com/username/repo.git"
588 | },
589 | {
590 | "gitQus": "রিমোট ব্রাঞ্চ ডিলিট করতে",
591 | "gitAns": "git push origin :branchname OR git push origin --delete branchname"
592 | },
593 | {
594 | "gitQus": "কন্ট্রিবিউটরদের নামের লিস্ট দেখা",
595 | "gitAns": "git shortlog -sn"
596 | },
597 | {
598 | "gitQus": "কন্ট্রিবিউটরদের নাম এবং তাঁদের সকল কমিট লিস্ট আকারে দেখা",
599 | "gitAns": "git shortlog"
600 | }
601 | ]
602 | },
603 | {
604 | "title": "গিট্ ফ্লো (Git flow)",
605 | "items": [
606 | {
607 | "gitQus": "গিট flow ইনস্টল ম্যাক(Homebrew)",
608 | "gitAns": "brew install git-flow-avh"
609 | },
610 | {
611 | "gitQus": "গিট flow ইনস্টল ম্যাক(Macports)",
612 | "gitAns": "port install git-flow-avh"
613 | },
614 | {
615 | "gitQus": "গিট flow ইনস্টল লিনাক্স",
616 | "gitAns": "apt-get install git-flow"
617 | },
618 | {
619 | "gitQus": "গিট flow ইনস্টল উইন্ডোজ",
620 | "gitAns": "wget -q -O - --no-check-certificate https://raw.github.com/petervanderdoes/gitflow-avh/develop/contrib/gitflow-installer.sh install stable | bash"
621 | },
622 | {
623 | "gitQus": "গিট flow শুরু করা",
624 | "gitAns": "git flow init"
625 | },
626 | {
627 | "gitQus": "নতুন ফিচার শুরু করা",
628 | "gitAns": "git flow feature start features_name"
629 | },
630 | {
631 | "gitQus": "ফিচার শেষ করা",
632 | "gitAns": "git flow feature finish features_name"
633 | },
634 | {
635 | "gitQus": "ফিচার পাবলিশ করা",
636 | "gitAns": "git flow feature publish features_name"
637 | },
638 | {
639 | "gitQus": "ফিচার পুল করা",
640 | "gitAns": "git flow feature pull origin features_name"
641 | },
642 | {
643 | "gitQus": "ফিচার ট্র্যাক করা",
644 | "gitAns": "git flow feature track features_name"
645 | },
646 | {
647 | "gitQus": "রিলিজ শুরু করা",
648 | "gitAns": "git flow release start RELEASE [BASE]"
649 | },
650 | {
651 | "gitQus": "রিলিজ শেষ করা",
652 | "gitAns": "git flow release finish RELEASE"
653 | },
654 | {
655 | "gitQus": "রিলিজ পাবলিশ করা",
656 | "gitAns": "git flow release publish RELEASE"
657 | },
658 | {
659 | "gitQus": "রিলিজ ট্র্যাক করা",
660 | "gitAns": "git flow release track RELEASE"
661 | },
662 | {
663 | "gitQus": "হটফিক্স শুরু করা",
664 | "gitAns": "git flow hotfix start VERSION [BASENAME]"
665 | },
666 | {
667 | "gitQus": "হটফিক্স শেষ করা",
668 | "gitAns": "git flow hotfix finish VERSION"
669 | }
670 | ]
671 | },
672 | {
673 | "title": "গিটহাব ইস্যু (Github issues)",
674 | "items": [
675 | {
676 | "gitAns": "close"
677 | },
678 | {
679 | "gitAns": "closes"
680 | },
681 | {
682 | "gitAns": "closed"
683 | },
684 | {
685 | "gitAns": "fix"
686 | },
687 | {
688 | "gitAns": "fixes"
689 | },
690 | {
691 | "gitAns": "fixed"
692 | },
693 | {
694 | "gitAns": "resolve"
695 | },
696 | {
697 | "gitAns": "resolves"
698 | },
699 | {
700 | "gitAns": "resolved"
701 | }
702 | ]
703 | }
704 | ]
705 | }
--------------------------------------------------------------------------------
/assets/json/english.json:
--------------------------------------------------------------------------------
1 | {
2 | "data": [
3 | {
4 | "title": "$ What is Git?",
5 | "items": [
6 | {
7 | "gitQus": "* What is Git?",
8 | "gitAns": "Git is a free and distributed version-control system for tracking changes in source code during software development. It is designed for coordinating work among programmers, but it can be used to track changes in any set of files. Its goals include speed, data integrity, and support for distributed, non-linear workflows."
9 | },
10 | {
11 | "gitQus": "* What is the purpose of Git?",
12 | "gitAns": "Git (/ɡɪt/) is a version control system for tracking changes in computer files and coordinating work on those files among multiple people. It is primarily used for source code management in software development, but it can be used to keep track of changes in any set of files."
13 | },
14 | {
15 | "gitQus": "* What is git vs GitHub?",
16 | "gitAns": "The key difference between Git and GitHub is that Git is an open-source tool developers install locally to manage source code, while GitHub is an online service to which developers who use Git can connect and upload or download resources."
17 | }
18 | ]
19 | },
20 | {
21 | "title": "$ Download Git",
22 | "items": [
23 | {
24 | "gitQus": "- Windows :",
25 | "gitAns": "[Download] and Install program then run the git bash icon."
26 | },
27 | {
28 | "gitQus": "- Mac :",
29 | "gitAns": "ruby -e '$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)'"
30 | },
31 | {
32 | "gitQus": "",
33 | "gitAns": "brew doctor"
34 | },
35 | {
36 | "gitQus": "",
37 | "gitAns": "brew install git"
38 | },
39 | {
40 | "gitQus": "- Linux :",
41 | "gitAns": "sudo apt-get update"
42 | },
43 | {
44 | "gitQus": "",
45 | "gitAns": "sudo apt-get upgrade"
46 | },
47 | {
48 | "gitQus": "",
49 | "gitAns": "sudo apt-get install git"
50 | }
51 | ]
52 | },
53 | {
54 | "title": "$ Initialization and initial commit",
55 | "items": [
56 | {
57 | "gitQus": "Go to HOME path (~)",
58 | "gitAns": "cd ~"
59 | },
60 | {
61 | "gitQus": "Create git-training folder",
62 | "gitAns": "mkdir git-training"
63 | },
64 | {
65 | "gitQus": "Move the path (check the current path with the pwd command)",
66 | "gitAns": "cd git-training"
67 | },
68 | {
69 | "gitQus": "Initialize the folder git (see the .git folder created with the ls -A command)",
70 | "gitAns": "git init"
71 | },
72 | {
73 | "gitQus": "Add PDF file (add to commit list add) (use file in commit1 folder)",
74 | "gitAns": "git add report_card.pdf"
75 | },
76 | {
77 | "gitQus": "Making the first commit (creating a unit of history)",
78 | "gitAns": "git commit -m 'report card: Add question PDF'"
79 | },
80 | {
81 | "gitQus": "Add source code (add to commit list add) (use files in commit2 folder)",
82 | "gitAns": "git add report_card.c"
83 | },
84 | {
85 | "gitQus": "commit (make history unit)",
86 | "gitAns": "git commit -m 'report card: Add base code'"
87 | }
88 | ]
89 | },
90 | {
91 | "title": "$ Using diff and making additional commit",
92 | "items": [
93 | {
94 | "gitQus": "Check the status",
95 | "gitAns": "git status"
96 | },
97 | {
98 | "gitQus": "Change or overwrite the contents of the report_card.c source file in the commit3 folder and check",
99 | "gitAns": "git diff"
100 | },
101 | {
102 | "gitQus": "If you confirm the change through diff, proceed to add command",
103 | "gitAns": "git add report_card.c"
104 | },
105 | {
106 | "gitQus": "Commit the prepared source file",
107 | "gitAns": "git commit -m 'report card: Print a message of introduction'"
108 | },
109 | {
110 | "gitQus": "Check three commit so far",
111 | "gitAns": "git log"
112 | },
113 | {
114 | "gitQus": "Change or overwrite the contents of the report_card.c source file in the commit4 folder and check",
115 | "gitAns": "git diff"
116 | },
117 | {
118 | "gitQus": "If you confirm the change through diff, proceed to add command",
119 | "gitAns": "git add report_card.c"
120 | },
121 | {
122 | "gitQus": "Commit the prepared source file",
123 | "gitAns": "git commit -m 'report card: Print grades of each subject'"
124 | },
125 | {
126 | "gitQus": "Check four commit so far",
127 | "gitAns": "git log"
128 | }
129 | ]
130 | },
131 | {
132 | "title": "$ Include your signature in commit",
133 | "items": [
134 | {
135 | "gitQus": "Change or overwrite the contents of the report_card.c source file in the commit5 folder and check",
136 | "gitAns": "git diff"
137 | },
138 | {
139 | "gitQus": "If you confirm the change through diff, proceed to add command",
140 | "gitAns": "git add report_card.c"
141 | },
142 | {
143 | "gitQus": "Commit with signature (Include signatures with the -s option.)",
144 | "gitAns": "git commit -sm 'report card: Show the sum of each grade'"
145 | },
146 | {
147 | "gitQus": "Change or overwrite the contents of the report_card.c source file in the commit6 folder and check",
148 | "gitAns": "git diff"
149 | },
150 | {
151 | "gitQus": "If you confirm the change through diff, proceed to add command",
152 | "gitAns": "git add report_card.c"
153 | },
154 | {
155 | "gitQus": "Commit with signature",
156 | "gitAns": "git commit -sm 'report card: Get a average of grades'"
157 | }
158 | ]
159 | },
160 | {
161 | "title": "$ Let's push commit so far",
162 | "items": [
163 | {
164 | "gitQus": "Check the status and check the current branch name master",
165 | "gitAns": "git status"
166 | },
167 | {
168 | "gitQus": "Check the commit so far (if not six, check again)",
169 | "gitAns": "git shortlog"
170 | },
171 | {
172 | "gitQus": "Register GitHub remote repository URL(Pause and turn on http://github.com and create a new repository) Register GitHub remote repository with the copied URL (except for '<' and '>')",
173 | "gitAns": "git remote add origin"
174 | },
175 | {
176 | "gitQus": "Now let's push the work to the GitHub remote repository (origin).",
177 | "gitAns": "git push origin master"
178 | }
179 | ]
180 | },
181 | {
182 | "title": "$ Cancel add",
183 | "items": [
184 | {
185 | "gitQus": "Create and add an empty file with touch (it is possible to execute commands consecutively with ';')",
186 | "gitAns": "touch test;"
187 | },
188 | {
189 | "gitQus": "",
190 | "gitAns": "git add test"
191 | },
192 | {
193 | "gitQus": "Check your current status",
194 | "gitAns": "git status"
195 | },
196 | {
197 | "gitQus": "Let's cancel the add command with reset command",
198 | "gitAns": "git reset"
199 | },
200 | {
201 | "gitQus": "Check your current status again",
202 | "gitAns": "git status"
203 | }
204 | ]
205 | },
206 | {
207 | "title": "$ Clearing the commit",
208 | "items": [
209 | {
210 | "gitQus": "Make sure the test file still exists (re-create it if you deleted it)",
211 | "gitAns": "git status"
212 | },
213 | {
214 | "gitQus": "Make some wrong commit. (Can execute commands consecutively)",
215 | "gitAns": "git add test"
216 | },
217 | {
218 | "gitQus": "",
219 | "gitAns": "git commit -sm'test'"
220 | },
221 | {
222 | "gitQus": "Then push and apply the wrong commit to the tree in GitHub.",
223 | "gitAns": "git push origin master"
224 | },
225 | {
226 | "gitQus": "And clears the most recent commit.",
227 | "gitAns": "git reset HEAD~1"
228 | },
229 | {
230 | "gitQus": "Force push to the remote repository tree to clear the wrong commit",
231 | "gitAns": "git push origin master --force"
232 | },
233 | {
234 | "gitQus": "Commit is canceled and the files are staged and saved in working directory",
235 | "gitAns": "git reset --soft HEAD^"
236 | },
237 | {
238 | "gitQus": "Commit is canceled and the files are unstagedand saved in the working directory.",
239 | "gitAns": "git reset --mixed HEAD^"
240 | },
241 | {
242 | "gitQus": "",
243 | "gitAns": "git reset HEAD^"
244 | },
245 | {
246 | "gitQus": "",
247 | "gitAns": "git reset HEAD~2"
248 | },
249 | {
250 | "gitQus": "Commit is canceled and the files are unstagedand deleted from the working directory",
251 | "gitAns": "git reset --hard HEAD^"
252 | }
253 | ]
254 | },
255 | {
256 | "title": "$ Clearing the commit (Advanced)",
257 | "items": [
258 | {
259 | "gitQus": "Return to commit in the working directory-Cancels the most recent commit and returns the working directory",
260 | "gitAns": "git reset HEAD^"
261 | },
262 | {
263 | "gitQus": "Reflog(the branch and commit that HEAD has pointed to in the last few months)",
264 | "gitAns": "git reflog"
265 | },
266 | {
267 | "gitQus": "Return the working directory to the desired point in time",
268 | "gitAns": "git log –g"
269 | },
270 | {
271 | "gitQus": "",
272 | "gitAns": "git reset"
273 | },
274 | {
275 | "gitQus": "Commit again with reverted",
276 | "gitAns": "git commit -m 'Write commit messages'"
277 | },
278 | {
279 | "gitQus": "Force push to remote storage",
280 | "gitAns": "git push origin branch_name–f"
281 | },
282 | {
283 | "gitQus": "",
284 | "gitAns": "git push origin + branch_name"
285 | },
286 | {
287 | "gitQus": "",
288 | "gitAns": "git push origin +master"
289 | }
290 | ]
291 | },
292 | {
293 | "title": "$ Revert",
294 | "items": [
295 | {
296 | "gitQus": "Revert single commit",
297 | "gitAns": "git revert commit_idex"
298 | },
299 | {
300 | "gitQus": "",
301 | "gitAns": "git revert 2664ce8"
302 | },
303 | {
304 | "gitQus": "If you need to commit multiple commits at onc",
305 | "gitAns": "git revert start_commit_id...end_commit_id"
306 | }
307 | ]
308 | },
309 | {
310 | "title": "$ Pull Request",
311 | "items": [
312 | {
313 | "gitQus": "Go to https://github.com/jinnatul/git-helper",
314 | "gitAns": "Click Fork Button"
315 | },
316 | {
317 | "gitQus": "Downloading Forked Project ",
318 | "gitAns": "git clone project_url_forked_in_your_account"
319 | },
320 | {
321 | "gitQus": "Move Clone Project Directory ",
322 | "gitAns": "cd clone_project_directory_name"
323 | },
324 | {
325 | "gitQus": "Create branch (develop) for pull-request",
326 | "gitAns": "git checkout -b develop"
327 | },
328 | {
329 | "gitQus": "Move pull_request_testdirectory",
330 | "gitAns": "cd pull_request_test"
331 | },
332 | {
333 | "gitQus": "Create a directory with your name",
334 | "gitAns": "mkdir your_name"
335 | },
336 | {
337 | "gitQus": "Create a new file in Directory",
338 | "gitAns": "touch any_name.txt"
339 | },
340 | {
341 | "gitQus": "Go to Parent Directory",
342 | "gitAns": "cd .."
343 | },
344 | {
345 | "gitQus": "Add the working directory",
346 | "gitAns": "git add your_name"
347 | },
348 | {
349 | "gitQus": "Prepared files commit",
350 | "gitAns": "git commit –m 'your_namepull request test'"
351 | },
352 | {
353 | "gitQus": "Push to the develop branch of the forked repository (note: not master)",
354 | "gitAns": "git push origin develop"
355 | }
356 | ]
357 | },
358 | {
359 | "title": "$ Merge",
360 | "items": [
361 | {
362 | "gitQus": "Make sure that your just-in-progress develop branch is the current branch (also visible as status)",
363 | "gitAns": "git branch"
364 | },
365 | {
366 | "gitQus": "Let's create an additional branch",
367 | "gitAns": "git checkout -b test"
368 | },
369 | {
370 | "gitQus": "Create an empty file with touch and make a commit",
371 | "gitAns": "touch test"
372 | },
373 | {
374 | "gitQus": "",
375 | "gitAns": "git add test"
376 | },
377 | {
378 | "gitQus": "",
379 | "gitAns": "git commit -m 'test'"
380 | },
381 | {
382 | "gitQus": "Merge additional branches (test) based on the current branch (develop).",
383 | "gitAns": "git checkout develop"
384 | },
385 | {
386 | "gitQus": "",
387 | "gitAns": "git status"
388 | },
389 | {
390 | "gitQus": "",
391 | "gitAns": "git merge test"
392 | }
393 | ]
394 | },
395 | {
396 | "title": "$ Rebase",
397 | "items": [
398 | {
399 | "gitQus": "On Stage 8, go to the project path that was cloned after the fork and add upstream(This is not your project URL)",
400 | "gitAns": "git remote add upstream https://github.com/jinnatul/git-helper.git"
401 | },
402 | {
403 | "gitQus": "get upstream'sdevelop branch.",
404 | "gitAns": "git fetch upstream develop"
405 | },
406 | {
407 | "gitQus": "Make sure your current branch is develop",
408 | "gitAns": "git status"
409 | },
410 | {
411 | "gitQus": "Rebase",
412 | "gitAns": "git rebase upstream/develop"
413 | }
414 | ]
415 | },
416 | {
417 | "title": "$ Rebase--interactive",
418 | "items": [
419 | {
420 | "gitQus": "Select the commit to modify",
421 | "gitAns": "git rebase -i--root"
422 | },
423 | {
424 | "gitQus": "Check status and check if rebase is normal",
425 | "gitAns": "git status"
426 | },
427 | {
428 | "gitQus": "Modify the commit information and finish with --continue",
429 | "gitAns": "git commit --amend"
430 | },
431 | {
432 | "gitQus": "",
433 | "gitAns": "git rebase --continue"
434 | }
435 | ]
436 | },
437 | {
438 | "title": "$ Blame",
439 | "items": [
440 | {
441 | "gitQus": "Identify which file, who modified which line.",
442 | "gitAns": "git blame report_card.c"
443 | },
444 | {
445 | "gitQus": "Check commit information at the time using commit ID",
446 | "gitAns": "git show "
447 | }
448 | ]
449 | },
450 | {
451 | "title": "$ Clean",
452 | "items": [
453 | {
454 | "gitQus": "Only delete files except directories",
455 | "gitAns": "git clean -f"
456 | },
457 | {
458 | "gitQus": "Delete directory inclusion",
459 | "gitAns": "git clean -f -d"
460 | },
461 | {
462 | "gitQus": "Delete even ignored files",
463 | "gitAns": "git clean -f -d -x"
464 | }
465 | ]
466 | },
467 | {
468 | "title": "$ Gitignore",
469 | "items": [
470 | {
471 | "gitQus": "Make .gitignore",
472 | "gitAns": "touch .gitignore"
473 | },
474 | {
475 | "gitQus": "Delete all caches in the current repository.",
476 | "gitAns": "git rm -r --cached"
477 | },
478 | {
479 | "gitQus": "Delete the file corresponding to file_namefrom the remote repository.(Do not delete files in the local repository)",
480 | "gitAns": "git rm -r --cached file_name"
481 | },
482 | {
483 | "gitQus": "Set to track all other files again, except for the list of files put in .gitignore.",
484 | "gitAns": "git add ."
485 | },
486 | {
487 | "gitQus": "",
488 | "gitAns": "git commit -m 'Fixed untracked files'"
489 | }
490 | ]
491 | },
492 | {
493 | "title": "$ Feature Branch creation & termination",
494 | "items": [
495 | {
496 | "gitQus": "Branch the feature branch (feature/login) on the 'develop' branch. (not in the 'master' branch!)",
497 | "gitAns": "git checkout -b feature/login develop"
498 | },
499 | {
500 | "gitQus": "Move to the 'develop' branch",
501 | "gitAns": "git checkout develop"
502 | },
503 | {
504 | "gitQus": "Merge the contents of the feature/login branch into the 'develop' branch",
505 | "gitAns": "git merge --no-ff feature/login"
506 | },
507 | {
508 | "gitQus": "Delete the branch corresponding to feature/login",
509 | "gitAns": "git branch -d feature/login"
510 | },
511 | {
512 | "gitQus": "Put the 'develop' branch on the remote repository",
513 | "gitAns": "git push origin develop"
514 | }
515 | ]
516 | },
517 | {
518 | "title": "$ Release Branch creation & termination",
519 | "items": [
520 | {
521 | "gitQus": "branch from the release branch (release-1.2) to the 'develop' branch (not from the 'master' branch)",
522 | "gitAns": "git checkout -b release-1.2 develop"
523 | },
524 | {
525 | "gitQus": "Move to the 'master' branch.",
526 | "gitAns": "git checkout master"
527 | },
528 | {
529 | "gitQus": "Merge the contents of the release-1.2 branch into the 'master' branch.",
530 | "gitAns": "git merge --no-ff release-1.2"
531 | },
532 | {
533 | "gitQus": "Give the release version tag to the merged commit.",
534 | "gitAns": "git tag -a 1.2"
535 | },
536 | {
537 | "gitQus": "Go to the 'develop' branch.",
538 | "gitAns": "git checkout develop"
539 | },
540 | {
541 | "gitQus": "Merge the contents of the release-1.2 branch into the 'develop' branch.",
542 | "gitAns": "git merge --no-ff release-1.2"
543 | },
544 | {
545 | "gitQus": "-d option: Delete the branch corresponding to release-1.2",
546 | "gitAns": "git branch -d release-1.2"
547 | }
548 | ]
549 | },
550 | {
551 | "title": "$ What is Feature Branch Workflow?",
552 | "items": [
553 | {
554 | "gitQus": "",
555 | "gitAns": ""
556 | }
557 | ]
558 | },
559 | {
560 | "title": "$ Concept of Local Storage & Remote Storage",
561 | "items": [
562 | {
563 | "gitQus": "",
564 | "gitAns": ""
565 | }
566 | ]
567 | },
568 | {
569 | "title": "$ Create a local repository with git clone",
570 | "items": [
571 | {
572 | "gitQus": "",
573 | "gitAns": ""
574 | }
575 | ]
576 | },
577 | {
578 | "title": "$ Check branch location",
579 | "items": [
580 | {
581 | "gitQus": "",
582 | "gitAns": ""
583 | }
584 | ]
585 | },
586 | {
587 | "title": "$ Create a new branch",
588 | "items": [
589 | {
590 | "gitQus": "",
591 | "gitAns": ""
592 | }
593 | ]
594 | },
595 | {
596 | "title": "$ Push the branch to the central remote repository",
597 | "items": [
598 | {
599 | "gitQus": "",
600 | "gitAns": ""
601 | }
602 | ]
603 | },
604 | {
605 | "title": "$ Send a full request to the project manager",
606 | "items": [
607 | {
608 | "gitQus": "",
609 | "gitAns": ""
610 | }
611 | ]
612 | },
613 | {
614 | "title": "$ Synchronization",
615 | "items": [
616 | {
617 | "gitQus": "",
618 | "gitAns": ""
619 | }
620 | ]
621 | },
622 | {
623 | "title": "$ Create another branch for the new function",
624 | "items": [
625 | {
626 | "gitQus": "",
627 | "gitAns": ""
628 | }
629 | ]
630 | },
631 | {
632 | "title": "$ Fork the central remote repository",
633 | "items": [
634 | {
635 | "gitQus": "",
636 | "gitAns": ""
637 | }
638 | ]
639 | },
640 | {
641 | "title": "$ Create a local repository with the git clone command",
642 | "items": [
643 | {
644 | "gitQus": "",
645 | "gitAns": ""
646 | }
647 | ]
648 | },
649 | {
650 | "title": "$ Connect two remote repositories",
651 | "items": [
652 | {
653 | "gitQus": "",
654 | "gitAns": ""
655 | }
656 | ]
657 | },
658 | {
659 | "title": "$ Check branch location",
660 | "items": [
661 | {
662 | "gitQus": "",
663 | "gitAns": ""
664 | }
665 | ]
666 | },
667 | {
668 | "title": "$ Create a new branch for functional development",
669 | "items": [
670 | {
671 | "gitQus": "",
672 | "gitAns": ""
673 | }
674 | ]
675 | },
676 | {
677 | "title": "$ Push the commit history to your remote repository",
678 | "items": [
679 | {
680 | "gitQus": "",
681 | "gitAns": ""
682 | }
683 | ]
684 | }
685 | ]
686 | }
--------------------------------------------------------------------------------
/assets/lib/jquery/jquery.min.js:
--------------------------------------------------------------------------------
1 | /*! jQuery v3.3.1 | (c) JS Foundation and other contributors | jquery.org/license */
2 | !function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){"use strict";var n=[],r=e.document,i=Object.getPrototypeOf,o=n.slice,a=n.concat,s=n.push,u=n.indexOf,l={},c=l.toString,f=l.hasOwnProperty,p=f.toString,d=p.call(Object),h={},g=function e(t){return"function"==typeof t&&"number"!=typeof t.nodeType},y=function e(t){return null!=t&&t===t.window},v={type:!0,src:!0,noModule:!0};function m(e,t,n){var i,o=(t=t||r).createElement("script");if(o.text=e,n)for(i in v)n[i]&&(o[i]=n[i]);t.head.appendChild(o).parentNode.removeChild(o)}function x(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[c.call(e)]||"object":typeof e}var b="3.3.1",w=function(e,t){return new w.fn.init(e,t)},T=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;w.fn=w.prototype={jquery:"3.3.1",constructor:w,length:0,toArray:function(){return o.call(this)},get:function(e){return null==e?o.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=w.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return w.each(this,e)},map:function(e){return this.pushStack(w.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(o.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n0&&t-1 in e)}var E=function(e){var t,n,r,i,o,a,s,u,l,c,f,p,d,h,g,y,v,m,x,b="sizzle"+1*new Date,w=e.document,T=0,C=0,E=ae(),k=ae(),S=ae(),D=function(e,t){return e===t&&(f=!0),0},N={}.hasOwnProperty,A=[],j=A.pop,q=A.push,L=A.push,H=A.slice,O=function(e,t){for(var n=0,r=e.length;n+~]|"+M+")"+M+"*"),z=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),X=new RegExp(W),U=new RegExp("^"+R+"$"),V={ID:new RegExp("^#("+R+")"),CLASS:new RegExp("^\\.("+R+")"),TAG:new RegExp("^("+R+"|[*])"),ATTR:new RegExp("^"+I),PSEUDO:new RegExp("^"+W),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+P+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},G=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,Q=/^[^{]+\{\s*\[native \w/,J=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,K=/[+~]/,Z=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ee=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},te=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ne=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},re=function(){p()},ie=me(function(e){return!0===e.disabled&&("form"in e||"label"in e)},{dir:"parentNode",next:"legend"});try{L.apply(A=H.call(w.childNodes),w.childNodes),A[w.childNodes.length].nodeType}catch(e){L={apply:A.length?function(e,t){q.apply(e,H.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function oe(e,t,r,i){var o,s,l,c,f,h,v,m=t&&t.ownerDocument,T=t?t.nodeType:9;if(r=r||[],"string"!=typeof e||!e||1!==T&&9!==T&&11!==T)return r;if(!i&&((t?t.ownerDocument||t:w)!==d&&p(t),t=t||d,g)){if(11!==T&&(f=J.exec(e)))if(o=f[1]){if(9===T){if(!(l=t.getElementById(o)))return r;if(l.id===o)return r.push(l),r}else if(m&&(l=m.getElementById(o))&&x(t,l)&&l.id===o)return r.push(l),r}else{if(f[2])return L.apply(r,t.getElementsByTagName(e)),r;if((o=f[3])&&n.getElementsByClassName&&t.getElementsByClassName)return L.apply(r,t.getElementsByClassName(o)),r}if(n.qsa&&!S[e+" "]&&(!y||!y.test(e))){if(1!==T)m=t,v=e;else if("object"!==t.nodeName.toLowerCase()){(c=t.getAttribute("id"))?c=c.replace(te,ne):t.setAttribute("id",c=b),s=(h=a(e)).length;while(s--)h[s]="#"+c+" "+ve(h[s]);v=h.join(","),m=K.test(e)&&ge(t.parentNode)||t}if(v)try{return L.apply(r,m.querySelectorAll(v)),r}catch(e){}finally{c===b&&t.removeAttribute("id")}}}return u(e.replace(B,"$1"),t,r,i)}function ae(){var e=[];function t(n,i){return e.push(n+" ")>r.cacheLength&&delete t[e.shift()],t[n+" "]=i}return t}function se(e){return e[b]=!0,e}function ue(e){var t=d.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function le(e,t){var n=e.split("|"),i=n.length;while(i--)r.attrHandle[n[i]]=t}function ce(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function fe(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}function pe(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function de(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&ie(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function he(e){return se(function(t){return t=+t,se(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function ge(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}n=oe.support={},o=oe.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},p=oe.setDocument=function(e){var t,i,a=e?e.ownerDocument||e:w;return a!==d&&9===a.nodeType&&a.documentElement?(d=a,h=d.documentElement,g=!o(d),w!==d&&(i=d.defaultView)&&i.top!==i&&(i.addEventListener?i.addEventListener("unload",re,!1):i.attachEvent&&i.attachEvent("onunload",re)),n.attributes=ue(function(e){return e.className="i",!e.getAttribute("className")}),n.getElementsByTagName=ue(function(e){return e.appendChild(d.createComment("")),!e.getElementsByTagName("*").length}),n.getElementsByClassName=Q.test(d.getElementsByClassName),n.getById=ue(function(e){return h.appendChild(e).id=b,!d.getElementsByName||!d.getElementsByName(b).length}),n.getById?(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){return e.getAttribute("id")===t}},r.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&g){var n=t.getElementById(e);return n?[n]:[]}}):(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){var n="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},r.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&g){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),r.find.TAG=n.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},r.find.CLASS=n.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&g)return t.getElementsByClassName(e)},v=[],y=[],(n.qsa=Q.test(d.querySelectorAll))&&(ue(function(e){h.appendChild(e).innerHTML=" ",e.querySelectorAll("[msallowcapture^='']").length&&y.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||y.push("\\["+M+"*(?:value|"+P+")"),e.querySelectorAll("[id~="+b+"-]").length||y.push("~="),e.querySelectorAll(":checked").length||y.push(":checked"),e.querySelectorAll("a#"+b+"+*").length||y.push(".#.+[+~]")}),ue(function(e){e.innerHTML=" ";var t=d.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&y.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&y.push(":enabled",":disabled"),h.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&y.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),y.push(",.*:")})),(n.matchesSelector=Q.test(m=h.matches||h.webkitMatchesSelector||h.mozMatchesSelector||h.oMatchesSelector||h.msMatchesSelector))&&ue(function(e){n.disconnectedMatch=m.call(e,"*"),m.call(e,"[s!='']:x"),v.push("!=",W)}),y=y.length&&new RegExp(y.join("|")),v=v.length&&new RegExp(v.join("|")),t=Q.test(h.compareDocumentPosition),x=t||Q.test(h.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return f=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r||(1&(r=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===r?e===d||e.ownerDocument===w&&x(w,e)?-1:t===d||t.ownerDocument===w&&x(w,t)?1:c?O(c,e)-O(c,t):0:4&r?-1:1)}:function(e,t){if(e===t)return f=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===d?-1:t===d?1:i?-1:o?1:c?O(c,e)-O(c,t):0;if(i===o)return ce(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?ce(a[r],s[r]):a[r]===w?-1:s[r]===w?1:0},d):d},oe.matches=function(e,t){return oe(e,null,null,t)},oe.matchesSelector=function(e,t){if((e.ownerDocument||e)!==d&&p(e),t=t.replace(z,"='$1']"),n.matchesSelector&&g&&!S[t+" "]&&(!v||!v.test(t))&&(!y||!y.test(t)))try{var r=m.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){}return oe(t,d,null,[e]).length>0},oe.contains=function(e,t){return(e.ownerDocument||e)!==d&&p(e),x(e,t)},oe.attr=function(e,t){(e.ownerDocument||e)!==d&&p(e);var i=r.attrHandle[t.toLowerCase()],o=i&&N.call(r.attrHandle,t.toLowerCase())?i(e,t,!g):void 0;return void 0!==o?o:n.attributes||!g?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null},oe.escape=function(e){return(e+"").replace(te,ne)},oe.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},oe.uniqueSort=function(e){var t,r=[],i=0,o=0;if(f=!n.detectDuplicates,c=!n.sortStable&&e.slice(0),e.sort(D),f){while(t=e[o++])t===e[o]&&(i=r.push(o));while(i--)e.splice(r[i],1)}return c=null,e},i=oe.getText=function(e){var t,n="",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=i(e)}else if(3===o||4===o)return e.nodeValue}else while(t=e[r++])n+=i(t);return n},(r=oe.selectors={cacheLength:50,createPseudo:se,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(Z,ee),e[3]=(e[3]||e[4]||e[5]||"").replace(Z,ee),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||oe.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&oe.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return V.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=a(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(Z,ee).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=E[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&E(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=oe.attr(r,e);return null==i?"!="===t:!t||(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i.replace($," ")+" ").indexOf(n)>-1:"|="===t&&(i===n||i.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,f,p,d,h,g=o!==a?"nextSibling":"previousSibling",y=t.parentNode,v=s&&t.nodeName.toLowerCase(),m=!u&&!s,x=!1;if(y){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===v:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?y.firstChild:y.lastChild],a&&m){x=(d=(l=(c=(f=(p=y)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1])&&l[2],p=d&&y.childNodes[d];while(p=++d&&p&&p[g]||(x=d=0)||h.pop())if(1===p.nodeType&&++x&&p===t){c[e]=[T,d,x];break}}else if(m&&(x=d=(l=(c=(f=(p=t)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1]),!1===x)while(p=++d&&p&&p[g]||(x=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===v:1===p.nodeType)&&++x&&(m&&((c=(f=p[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]=[T,x]),p===t))break;return(x-=i)===r||x%r==0&&x/r>=0}}},PSEUDO:function(e,t){var n,i=r.pseudos[e]||r.setFilters[e.toLowerCase()]||oe.error("unsupported pseudo: "+e);return i[b]?i(t):i.length>1?(n=[e,e,"",t],r.setFilters.hasOwnProperty(e.toLowerCase())?se(function(e,n){var r,o=i(e,t),a=o.length;while(a--)e[r=O(e,o[a])]=!(n[r]=o[a])}):function(e){return i(e,0,n)}):i}},pseudos:{not:se(function(e){var t=[],n=[],r=s(e.replace(B,"$1"));return r[b]?se(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),t[0]=null,!n.pop()}}),has:se(function(e){return function(t){return oe(e,t).length>0}}),contains:se(function(e){return e=e.replace(Z,ee),function(t){return(t.textContent||t.innerText||i(t)).indexOf(e)>-1}}),lang:se(function(e){return U.test(e||"")||oe.error("unsupported lang: "+e),e=e.replace(Z,ee).toLowerCase(),function(t){var n;do{if(n=g?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===h},focus:function(e){return e===d.activeElement&&(!d.hasFocus||d.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:de(!1),disabled:de(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!r.pseudos.empty(e)},header:function(e){return Y.test(e.nodeName)},input:function(e){return G.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:he(function(){return[0]}),last:he(function(e,t){return[t-1]}),eq:he(function(e,t,n){return[n<0?n+t:n]}),even:he(function(e,t){for(var n=0;n=0;)e.push(r);return e}),gt:he(function(e,t,n){for(var r=n<0?n+t:n;++r1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function be(e,t,n){for(var r=0,i=t.length;r-1&&(o[l]=!(a[l]=f))}}else v=we(v===a?v.splice(h,v.length):v),i?i(null,a,v,u):L.apply(a,v)})}function Ce(e){for(var t,n,i,o=e.length,a=r.relative[e[0].type],s=a||r.relative[" "],u=a?1:0,c=me(function(e){return e===t},s,!0),f=me(function(e){return O(t,e)>-1},s,!0),p=[function(e,n,r){var i=!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):f(e,n,r));return t=null,i}];u1&&xe(p),u>1&&ve(e.slice(0,u-1).concat({value:" "===e[u-2].type?"*":""})).replace(B,"$1"),n,u0,i=e.length>0,o=function(o,a,s,u,c){var f,h,y,v=0,m="0",x=o&&[],b=[],w=l,C=o||i&&r.find.TAG("*",c),E=T+=null==w?1:Math.random()||.1,k=C.length;for(c&&(l=a===d||a||c);m!==k&&null!=(f=C[m]);m++){if(i&&f){h=0,a||f.ownerDocument===d||(p(f),s=!g);while(y=e[h++])if(y(f,a||d,s)){u.push(f);break}c&&(T=E)}n&&((f=!y&&f)&&v--,o&&x.push(f))}if(v+=m,n&&m!==v){h=0;while(y=t[h++])y(x,b,a,s);if(o){if(v>0)while(m--)x[m]||b[m]||(b[m]=j.call(u));b=we(b)}L.apply(u,b),c&&!o&&b.length>0&&v+t.length>1&&oe.uniqueSort(u)}return c&&(T=E,l=w),x};return n?se(o):o}return s=oe.compile=function(e,t){var n,r=[],i=[],o=S[e+" "];if(!o){t||(t=a(e)),n=t.length;while(n--)(o=Ce(t[n]))[b]?r.push(o):i.push(o);(o=S(e,Ee(i,r))).selector=e}return o},u=oe.select=function(e,t,n,i){var o,u,l,c,f,p="function"==typeof e&&e,d=!i&&a(e=p.selector||e);if(n=n||[],1===d.length){if((u=d[0]=d[0].slice(0)).length>2&&"ID"===(l=u[0]).type&&9===t.nodeType&&g&&r.relative[u[1].type]){if(!(t=(r.find.ID(l.matches[0].replace(Z,ee),t)||[])[0]))return n;p&&(t=t.parentNode),e=e.slice(u.shift().value.length)}o=V.needsContext.test(e)?0:u.length;while(o--){if(l=u[o],r.relative[c=l.type])break;if((f=r.find[c])&&(i=f(l.matches[0].replace(Z,ee),K.test(u[0].type)&&ge(t.parentNode)||t))){if(u.splice(o,1),!(e=i.length&&ve(u)))return L.apply(n,i),n;break}}}return(p||s(e,d))(i,t,!g,n,!t||K.test(e)&&ge(t.parentNode)||t),n},n.sortStable=b.split("").sort(D).join("")===b,n.detectDuplicates=!!f,p(),n.sortDetached=ue(function(e){return 1&e.compareDocumentPosition(d.createElement("fieldset"))}),ue(function(e){return e.innerHTML=" ","#"===e.firstChild.getAttribute("href")})||le("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),n.attributes&&ue(function(e){return e.innerHTML=" ",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||le("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ue(function(e){return null==e.getAttribute("disabled")})||le(P,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),oe}(e);w.find=E,w.expr=E.selectors,w.expr[":"]=w.expr.pseudos,w.uniqueSort=w.unique=E.uniqueSort,w.text=E.getText,w.isXMLDoc=E.isXML,w.contains=E.contains,w.escapeSelector=E.escape;var k=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&w(e).is(n))break;r.push(e)}return r},S=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},D=w.expr.match.needsContext;function N(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var A=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,t,n){return g(t)?w.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?w.grep(e,function(e){return e===t!==n}):"string"!=typeof t?w.grep(e,function(e){return u.call(t,e)>-1!==n}):w.filter(t,e,n)}w.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?w.find.matchesSelector(r,e)?[r]:[]:w.find.matches(e,w.grep(t,function(e){return 1===e.nodeType}))},w.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(w(e).filter(function(){for(t=0;t1?w.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&D.test(e)?w(e):e||[],!1).length}});var q,L=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(w.fn.init=function(e,t,n){var i,o;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(i="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:L.exec(e))||!i[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(i[1]){if(t=t instanceof w?t[0]:t,w.merge(this,w.parseHTML(i[1],t&&t.nodeType?t.ownerDocument||t:r,!0)),A.test(i[1])&&w.isPlainObject(t))for(i in t)g(this[i])?this[i](t[i]):this.attr(i,t[i]);return this}return(o=r.getElementById(i[2]))&&(this[0]=o,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):g(e)?void 0!==n.ready?n.ready(e):e(w):w.makeArray(e,this)}).prototype=w.fn,q=w(r);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};w.fn.extend({has:function(e){var t=w(e,this),n=t.length;return this.filter(function(){for(var e=0;e-1:1===n.nodeType&&w.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?w.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?u.call(w(e),this[0]):u.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(w.uniqueSort(w.merge(this.get(),w(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}w.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return k(e,"parentNode")},parentsUntil:function(e,t,n){return k(e,"parentNode",n)},next:function(e){return P(e,"nextSibling")},prev:function(e){return P(e,"previousSibling")},nextAll:function(e){return k(e,"nextSibling")},prevAll:function(e){return k(e,"previousSibling")},nextUntil:function(e,t,n){return k(e,"nextSibling",n)},prevUntil:function(e,t,n){return k(e,"previousSibling",n)},siblings:function(e){return S((e.parentNode||{}).firstChild,e)},children:function(e){return S(e.firstChild)},contents:function(e){return N(e,"iframe")?e.contentDocument:(N(e,"template")&&(e=e.content||e),w.merge([],e.childNodes))}},function(e,t){w.fn[e]=function(n,r){var i=w.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=w.filter(r,i)),this.length>1&&(O[e]||w.uniqueSort(i),H.test(e)&&i.reverse()),this.pushStack(i)}});var M=/[^\x20\t\r\n\f]+/g;function R(e){var t={};return w.each(e.match(M)||[],function(e,n){t[n]=!0}),t}w.Callbacks=function(e){e="string"==typeof e?R(e):w.extend({},e);var t,n,r,i,o=[],a=[],s=-1,u=function(){for(i=i||e.once,r=t=!0;a.length;s=-1){n=a.shift();while(++s-1)o.splice(n,1),n<=s&&s--}),this},has:function(e){return e?w.inArray(e,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=a=[],o=n="",this},disabled:function(){return!o},lock:function(){return i=a=[],n||t||(o=n=""),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=[e,(n=n||[]).slice?n.slice():n],a.push(n),t||u()),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!r}};return l};function I(e){return e}function W(e){throw e}function $(e,t,n,r){var i;try{e&&g(i=e.promise)?i.call(e).done(t).fail(n):e&&g(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}w.extend({Deferred:function(t){var n=[["notify","progress",w.Callbacks("memory"),w.Callbacks("memory"),2],["resolve","done",w.Callbacks("once memory"),w.Callbacks("once memory"),0,"resolved"],["reject","fail",w.Callbacks("once memory"),w.Callbacks("once memory"),1,"rejected"]],r="pending",i={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},"catch":function(e){return i.then(null,e)},pipe:function(){var e=arguments;return w.Deferred(function(t){w.each(n,function(n,r){var i=g(e[r[4]])&&e[r[4]];o[r[1]](function(){var e=i&&i.apply(this,arguments);e&&g(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+"With"](this,i?[e]:arguments)})}),e=null}).promise()},then:function(t,r,i){var o=0;function a(t,n,r,i){return function(){var s=this,u=arguments,l=function(){var e,l;if(!(t=o&&(r!==W&&(s=void 0,u=[e]),n.rejectWith(s,u))}};t?c():(w.Deferred.getStackHook&&(c.stackTrace=w.Deferred.getStackHook()),e.setTimeout(c))}}return w.Deferred(function(e){n[0][3].add(a(0,e,g(i)?i:I,e.notifyWith)),n[1][3].add(a(0,e,g(t)?t:I)),n[2][3].add(a(0,e,g(r)?r:W))}).promise()},promise:function(e){return null!=e?w.extend(e,i):i}},o={};return w.each(n,function(e,t){var a=t[2],s=t[5];i[t[1]]=a.add,s&&a.add(function(){r=s},n[3-e][2].disable,n[3-e][3].disable,n[0][2].lock,n[0][3].lock),a.add(t[3].fire),o[t[0]]=function(){return o[t[0]+"With"](this===o?void 0:this,arguments),this},o[t[0]+"With"]=a.fireWith}),i.promise(o),t&&t.call(o,o),o},when:function(e){var t=arguments.length,n=t,r=Array(n),i=o.call(arguments),a=w.Deferred(),s=function(e){return function(n){r[e]=this,i[e]=arguments.length>1?o.call(arguments):n,--t||a.resolveWith(r,i)}};if(t<=1&&($(e,a.done(s(n)).resolve,a.reject,!t),"pending"===a.state()||g(i[n]&&i[n].then)))return a.then();while(n--)$(i[n],s(n),a.reject);return a.promise()}});var B=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;w.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&B.test(t.name)&&e.console.warn("jQuery.Deferred exception: "+t.message,t.stack,n)},w.readyException=function(t){e.setTimeout(function(){throw t})};var F=w.Deferred();w.fn.ready=function(e){return F.then(e)["catch"](function(e){w.readyException(e)}),this},w.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--w.readyWait:w.isReady)||(w.isReady=!0,!0!==e&&--w.readyWait>0||F.resolveWith(r,[w]))}}),w.ready.then=F.then;function _(){r.removeEventListener("DOMContentLoaded",_),e.removeEventListener("load",_),w.ready()}"complete"===r.readyState||"loading"!==r.readyState&&!r.documentElement.doScroll?e.setTimeout(w.ready):(r.addEventListener("DOMContentLoaded",_),e.addEventListener("load",_));var z=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===x(n)){i=!0;for(s in n)z(e,t,s,n[s],!0,o,a)}else if(void 0!==r&&(i=!0,g(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(w(e),n)})),t))for(;s1,null,!0)},removeData:function(e){return this.each(function(){K.remove(this,e)})}}),w.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=J.get(e,t),n&&(!r||Array.isArray(n)?r=J.access(e,t,w.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=w.queue(e,t),r=n.length,i=n.shift(),o=w._queueHooks(e,t),a=function(){w.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return J.get(e,n)||J.access(e,n,{empty:w.Callbacks("once memory").add(function(){J.remove(e,[t+"queue",n])})})}}),w.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length\x20\t\r\n\f]+)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,""," "],thead:[1,""],col:[2,""],tr:[2,""],td:[3,""],_default:[0,"",""]};ge.optgroup=ge.option,ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td;function ye(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&N(e,t)?w.merge([e],n):n}function ve(e,t){for(var n=0,r=e.length;n-1)i&&i.push(o);else if(l=w.contains(o.ownerDocument,o),a=ye(f.appendChild(o),"script"),l&&ve(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}!function(){var e=r.createDocumentFragment().appendChild(r.createElement("div")),t=r.createElement("input");t.setAttribute("type","radio"),t.setAttribute("checked","checked"),t.setAttribute("name","t"),e.appendChild(t),h.checkClone=e.cloneNode(!0).cloneNode(!0).lastChild.checked,e.innerHTML="",h.noCloneChecked=!!e.cloneNode(!0).lastChild.defaultValue}();var be=r.documentElement,we=/^key/,Te=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ce=/^([^.]*)(?:\.(.+)|)/;function Ee(){return!0}function ke(){return!1}function Se(){try{return r.activeElement}catch(e){}}function De(e,t,n,r,i,o){var a,s;if("object"==typeof t){"string"!=typeof n&&(r=r||n,n=void 0);for(s in t)De(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=ke;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return w().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=w.guid++)),e.each(function(){w.event.add(this,t,i,r,n)})}w.event={global:{},add:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=J.get(e);if(y){n.handler&&(n=(o=n).handler,i=o.selector),i&&w.find.matchesSelector(be,i),n.guid||(n.guid=w.guid++),(u=y.events)||(u=y.events={}),(a=y.handle)||(a=y.handle=function(t){return"undefined"!=typeof w&&w.event.triggered!==t.type?w.event.dispatch.apply(e,arguments):void 0}),l=(t=(t||"").match(M)||[""]).length;while(l--)d=g=(s=Ce.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=w.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=w.event.special[d]||{},c=w.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&w.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(e,r,h,a)||e.addEventListener&&e.addEventListener(d,a)),f.add&&(f.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),w.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=J.hasData(e)&&J.get(e);if(y&&(u=y.events)){l=(t=(t||"").match(M)||[""]).length;while(l--)if(s=Ce.exec(t[l])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){f=w.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,y.handle)||w.removeEvent(e,d,y.handle),delete u[d])}else for(d in u)w.event.remove(e,d+t[l],n,r,!0);w.isEmptyObject(u)&&J.remove(e,"handle events")}},dispatch:function(e){var t=w.event.fix(e),n,r,i,o,a,s,u=new Array(arguments.length),l=(J.get(this,"events")||{})[t.type]||[],c=w.event.special[t.type]||{};for(u[0]=t,n=1;n=1))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n-1:w.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u\x20\t\r\n\f]*)[^>]*)\/>/gi,Ae=/
208 |
209 |
210 |
211 |
227 |