From df60071cf1d1c18822d34f943ab8f412a8946b69 Mon Sep 17 00:00:00 2001 From: hardythe1 Date: Wed, 3 Jun 2015 15:27:17 +0530 Subject: add books --- sample_notebooks/nemichand /Chapter1.ipynb | 561 +++++++++++++++++++++++++++++ 1 file changed, 561 insertions(+) create mode 100755 sample_notebooks/nemichand /Chapter1.ipynb (limited to 'sample_notebooks/nemichand /Chapter1.ipynb') diff --git a/sample_notebooks/nemichand /Chapter1.ipynb b/sample_notebooks/nemichand /Chapter1.ipynb new file mode 100755 index 00000000..7cc7b973 --- /dev/null +++ b/sample_notebooks/nemichand /Chapter1.ipynb @@ -0,0 +1,561 @@ +{ + "metadata": { + "name": "", + "signature": "sha256:04b8728a2a112ab03efb0f888eacfe0c6847d92d7043fbf038fc0d7708b1bf9e" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Chapter1-Introduction of Electronic Device" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex1-pg34" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "##Ex1.1\n", + "#calcualte fusing current for given values\n", + "import math\n", + "print(\"I = K(d^1.5)\") ##formula used for fusing current\n", + "d=0.0031\n", + "print\"%s %.3f %s\"%(\"d = \",d,\"inches\") ##initializing values of diameter\n", + "I1=10244*(d**1.5);\n", + "I2=7585*(d**1.5);\n", + "I3=5320*(d**1.5); \n", + "I4=3148*(d**1.5); I5=1642*(d**1.5) ##calculation for fusing current\n", + "print\"%s %.2f %s\"%(\"for Copper, I = 10244*(d^1.5) = \",I1,\"Amp.\")\n", + "print\"%s %.2f %s\"%(\"for Aluminum, I = 7585*(d^1.5) = \",I2,\"Amp.\")\n", + "print\"%s %.2f %s\"%(\"for Silver, I = 5320*(d^1.5) = \",I3,\"Amp.\")\n", + "print\"%s %.2f %s\"%(\"for Iron, I = 3148*(d^1.5) = \",I4,\"Amp.\")\n", + "print\"%s %.2f %s\"%(\"for Tin, I = 1642*(d^1.5) = \",I5,\"Amp.\")\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "I = K(d^1.5)\n", + "d = 0.003 inches\n", + "for Copper, I = 10244*(d^1.5) = 1.77 Amp.\n", + "for Aluminum, I = 7585*(d^1.5) = 1.31 Amp.\n", + "for Silver, I = 5320*(d^1.5) = 0.92 Amp.\n", + "for Iron, I = 3148*(d^1.5) = 0.54 Amp.\n", + "for Tin, I = 1642*(d^1.5) = 0.28 Amp.\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex2-pg34" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "##Ex1.2\n", + "#calculate fusing current for given values\n", + "print(\"fusing current, I = K(d**1.5) Amp.\")##formula used for fusing current\n", + "d=0.0201\n", + "print\"%s %.2f %s\"%(\"d = \",d,\"inches\") ##initializing value of diameter\n", + "I1=10244*(d**1.5);I2=7585*(d**1.5); I3=5320*(d**1.5); I4=3148*(d**1.5); I5=1642*(d**1.5) ##calculation for fusing current\n", + "print\"%s %.2f %s\"%(\"for Copper, I = 10244*(d**1.5) = \",I1,\"Amp.\")\n", + "print\"%s %.2f %s\"%(\"for Aluminum, I = 7585*(d**1.5) = \",I2,\"Amp.\")\n", + "print\"%s %.2f %s\"%(\"for Silver, I = 5320*(d**1.5) = \",I3,\"Amp.\")\n", + "print\"%s %.2f %s\"%(\"for Iron, I = 3148*(d**1.5) = \",I4,\"Amp.\")\n", + "print\"%s %.2f %s\"%(\"for Tin, I = 1642*(d**1.5) = \",I5,\"Amp.\")\n", + "\n", + "\n", + "## note : calculation for fusing current of Iron is wrong.\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "fusing current, I = K(d**1.5) Amp.\n", + "d = 0.02 inches\n", + "for Copper, I = 10244*(d**1.5) = 29.19 Amp.\n", + "for Aluminum, I = 7585*(d**1.5) = 21.61 Amp.\n", + "for Silver, I = 5320*(d**1.5) = 15.16 Amp.\n", + "for Iron, I = 3148*(d**1.5) = 8.97 Amp.\n", + "for Tin, I = 1642*(d**1.5) = 4.68 Amp.\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex3-pg35" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "##Ex1.3\n", + "#calculate for fusing current in all four cases\n", + "import math\n", + "print(\"fusing current, I = K(d**1.5) Amp.\") ##formula used for fusing current\n", + "print(\"(a)\") \n", + "d=0.0159\n", + "print\"%s %.2f %s\"%(\"d = \",d,\"inches\") ##initializing value of diameter\n", + "I1=10244*(d**1.5);I2=7585*(d**1.5); I3=5320*(d**1.5); I4=3148*(d**1.5); I5=1642*(d**1.5) ##calculation for fusing current\n", + "print\"%s %.2f %s\"%(\"for Copper, I = 10244*(d**1.5) = \",I1,\"Amp.\")\n", + "print\"%s %.2f %s\"%(\"for Aluminum, I = 7585*(d**1.5) = \",I2,\"Amp.\")\n", + "print\"%s %.2f %s\"%(\"for Silver, I = 5320*(d**1.5) = \",I3,\"Amp.\")\n", + "print\"%s %.2f %s\"%(\"for Iron, I = 3148*(d**1.5) = \",I4,\"Amp.\")\n", + "print\"%s %.2f %s\"%(\"for Tin, I = 1642*(d**1.5) = \",I5,\"Amp.\")\n", + "\n", + "\n", + "print(\"(b)\")\n", + "d=0.0063\n", + "print\"%s %.2f %s\"%(\"d = \",d,\"inches\") ##initializing value of diameter\n", + "I1=10244*(d**1.5);I2=7585*(d**1.5); I3=5320*(d**1.5); I4=3148*(d**1.5); I5=1642*(d**1.5) ##calculation for fusing current\n", + "print\"%s %.2f %s\"%(\"for Copper, I = 10244*(d**1.5) = \",I1,\"Amp.\")\n", + "print\"%s %.2f %s\"%(\"for Aluminum, I = 7585*(d**1.5) = \",I2,\"Amp.\")\n", + "print\"%s %.2f %s\"%(\"for Silver, I = 5320*(d**1.5) = \",I3,\"Amp.\")\n", + "print\"%s %.2f %s\"%(\"for Iron, I = 3148*(d**1.5) = \",I4,\"Amp.\")\n", + "print\"%s %.2f %s\"%(\"for Tin, I = 1642*(d**1.5) = \",I5,\"Amp.\")\n", + "\n", + "\n", + "print(\"(c)\")\n", + "d=0.0403\n", + "print\"%s %.2f %s\"%(\"d = \",d,\"inches\") ##initializing value of diameter\n", + "I1=10244*(d**1.5);I2=7585*(d**1.5); I3=5320*(d**1.5); I4=3148*(d**1.5); I5=1642*(d**1.5) ##calculation for fusing current\n", + "print\"%s %.2f %s\"%(\"for Copper, I = 10244*(d**1.5) = \",I1,\"Amp.\")\n", + "print\"%s %.2f %s\"%(\"for Aluminum, I = 7585*(d**1.5) = \",I2,\"Amp.\")\n", + "print\"%s %.2f %s\"%(\"for Silver, I = 5320*(d**1.5) = \",I3,\"Amp.\")\n", + "print\"%s %.2f %s\"%(\"for Iron, I = 3148*(d**1.5) = \",I4,\"Amp.\")\n", + "print\"%s %.2f %s\"%(\"for Tin, I = 1642*(d**1.5) = \",I5,\"Amp.\")\n", + "\n", + "\n", + "print(\"(d)\")\n", + "d=0.0452\n", + "print\"%s %.2f %s\"%(\"d = \",d,\"inches\") ##initializing value of diameter\n", + "I1=10244*(d**1.5);I2=7585*(d**1.5); I3=5320*(d**1.5); I4=3148*(d**1.5); I5=1642*(d**1.5) ##calculation for fusing current\n", + "print\"%s %.2f %s\"%(\"for Copper, I = 10244*(d**1.5) = \",I1,\"Amp.\")\n", + "print\"%s %.2f %s\"%(\"for Aluminum, I = 7585*(d**1.5) = \",I2,\"Amp.\")\n", + "print\"%s %.2f %s\"%(\"for Silver, I = 5320*(d**1.5) = \",I3,\"Amp.\")\n", + "print\"%s %.2f %s\"%(\"for Iron, I = 3148*(d**1.5) = \",I4,\"Amp.\")\n", + "print\"%s %.2f %s\"%(\"for Tin, I = 1642*(d**1.5) = \",I5,\"Amp.\")\n", + "\n", + "\n", + "print(\"(e)\")\n", + "d=0.0508\n", + "print\"%s %.2f %s\"%(\"d = \",d,\"inches\") ##initializing value of diameter\n", + "I1=10244*(d**1.5);I2=7585*(d**1.5); I3=5320*(d**1.5); I4=3148*(d**1.5); I5=1642*(d**1.5) ##calculation for fusing current\n", + "print\"%s %.2f %s\"%(\"for Copper, I = 10244*(d**1.5) = \",I1,\"Amp.\")\n", + "print\"%s %.2f %s\"%(\"for Aluminum, I = 7585*(d**1.5) = \",I2,\"Amp.\")\n", + "print\"%s %.2f %s\"%(\"for Silver, I = 5320*(d**1.5) = \",I3,\"Amp.\")\n", + "print\"%s %.2f %s\"%(\"for Iron, I = 3148*(d**1.5) = \",I4,\"Amp.\")\n", + "print\"%s %.2f %s\"%(\"for Tin, I = 1642*(d**1.5) = \",I5,\"Amp.\")\n", + "\n", + "\n", + "print(\"(f)\")\n", + "d=0.162\n", + "print\"%s %.2f %s\"%(\"d = \",d,\"inches\") ##initializing value of diameter\n", + "I1=10244*(d**1.5);I2=7585*(d**1.5); I3=5320*(d**1.5); I4=3148*(d**1.5); I5=1642*(d**1.5) ##calculation for fusing current\n", + "print\"%s %.2f %s\"%(\"for Copper, I = 10244*(d**1.5) = \",I1,\"Amp.\")\n", + "print\"%s %.2f %s\"%(\"for Aluminum, I = 7585*(d**1.5) = \",I2,\"Amp.\")\n", + "print\"%s %.2f %s\"%(\"for Silver, I = 5320*(d**1.5) = \",I3,\"Amp.\")\n", + "print\"%s %.2f %s\"%(\"for Iron, I = 3148*(d**1.5) = \",I4,\"Amp.\")\n", + "print\"%s %.2f %s\"%(\"for Tin, I = 1642*(d**1.5) = \",I5,\"Amp.\")\n", + "\n", + "\n", + "\n", + "## note : in part (e) ... calculation for fusing current of silver is wrong.\n", + "## note : in part (f) ... calculation for fusing current of Iron is wrong.\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "fusing current, I = K(d**1.5) Amp.\n", + "(a)\n", + "d = 0.02 inches\n", + "for Copper, I = 10244*(d**1.5) = 20.54 Amp.\n", + "for Aluminum, I = 7585*(d**1.5) = 15.21 Amp.\n", + "for Silver, I = 5320*(d**1.5) = 10.67 Amp.\n", + "for Iron, I = 3148*(d**1.5) = 6.31 Amp.\n", + "for Tin, I = 1642*(d**1.5) = 3.29 Amp.\n", + "(b)\n", + "d = 0.01 inches\n", + "for Copper, I = 10244*(d**1.5) = 5.12 Amp.\n", + "for Aluminum, I = 7585*(d**1.5) = 3.79 Amp.\n", + "for Silver, I = 5320*(d**1.5) = 2.66 Amp.\n", + "for Iron, I = 3148*(d**1.5) = 1.57 Amp.\n", + "for Tin, I = 1642*(d**1.5) = 0.82 Amp.\n", + "(c)\n", + "d = 0.04 inches\n", + "for Copper, I = 10244*(d**1.5) = 82.88 Amp.\n", + "for Aluminum, I = 7585*(d**1.5) = 61.36 Amp.\n", + "for Silver, I = 5320*(d**1.5) = 43.04 Amp.\n", + "for Iron, I = 3148*(d**1.5) = 25.47 Amp.\n", + "for Tin, I = 1642*(d**1.5) = 13.28 Amp.\n", + "(d)\n", + "d = 0.05 inches\n", + "for Copper, I = 10244*(d**1.5) = 98.44 Amp.\n", + "for Aluminum, I = 7585*(d**1.5) = 72.89 Amp.\n", + "for Silver, I = 5320*(d**1.5) = 51.12 Amp.\n", + "for Iron, I = 3148*(d**1.5) = 30.25 Amp.\n", + "for Tin, I = 1642*(d**1.5) = 15.78 Amp.\n", + "(e)\n", + "d = 0.05 inches\n", + "for Copper, I = 10244*(d**1.5) = 117.29 Amp.\n", + "for Aluminum, I = 7585*(d**1.5) = 86.85 Amp.\n", + "for Silver, I = 5320*(d**1.5) = 60.91 Amp.\n", + "for Iron, I = 3148*(d**1.5) = 36.04 Amp.\n", + "for Tin, I = 1642*(d**1.5) = 18.80 Amp.\n", + "(f)\n", + "d = 0.16 inches\n", + "for Copper, I = 10244*(d**1.5) = 667.95 Amp.\n", + "for Aluminum, I = 7585*(d**1.5) = 494.57 Amp.\n", + "for Silver, I = 5320*(d**1.5) = 346.88 Amp.\n", + "for Iron, I = 3148*(d**1.5) = 205.26 Amp.\n", + "for Tin, I = 1642*(d**1.5) = 107.06 Amp.\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex4-pg37" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "##Ex1.4\n", + "#calculate resistance for given resistivity\n", + "import math\n", + "A=0.5189*10**-6##wire cross sectional area\n", + "rho=1.725*10**-8##resistivity\n", + "l=100 ##wire length\n", + "print\"%s %.3e %s\"%(\"A =\",A,\"merer square\") \n", + "print\"%s %.2e %s\"%(\"rho =\",rho,\"ohm-m\")\n", + "print\"%s %.2f %s\"%(\"l =\",l,\"m\")\n", + "print\"%s %.2f %s\"%(\"R = rho*l/A = \",rho*l/A,\"ohm\") ##resistance\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "A = 5.189e-07 merer square\n", + "rho = 1.73e-08 ohm-m\n", + "l = 100.00 m\n", + "R = rho*l/A = 3.32 ohm\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex5-pg38" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "##Ex1.5\n", + "#calculate resistance wire\n", + "import math\n", + "A=0.2588*10**-6##wire cross-sectional area\n", + "rho=1.725*10**-8##resistivity\n", + "l=100 ##wire length\n", + "print\"%s %.2e %s\"%(\"A =\",A,\"merer square\")\n", + "print\"%s %.2e %s\"%(\"rho =\",rho,\"ohm-m\")\n", + "print\"%s %.2f %s\"%(\"l =\",l,\"m\")\n", + "print\"%s %.2f %s\"%(\"R = rho*l/A = \",rho*l/A,\"ohm\") ##resistance of wire\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "A = 2.59e-07 merer square\n", + "rho = 1.73e-08 ohm-m\n", + "l = 100.00 m\n", + "R = rho*l/A = 6.67 ohm\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex6-pg39" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "##Ex1.6\n", + "#calculate resistance at temperature at T2\n", + "R1 = 14##resistance at temperature T1 \n", + "alpha=0.005\n", + "T1=20;##initial temperature\n", + "T2=120 ##final temperature\n", + "print\"%s %.2f %s %.2f %s %.2f %s%.2f %s \"%(\"R1 = \",R1, \"ohm\"and\" alpha = \",alpha,\"\"and \" T1 = \",T1,\"degreeC\"and \"T2 = \",T2,\"degreeC\")\n", + "print\"%s %.2f %s\"%(\"R2 = R1(1+(alpha*(T1-T2))) = \",R1*(1+(alpha*(T2-T1))),\"ohm\") ##resistance at temperature T2\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "R1 = 14.00 alpha = 0.01 20.00 T2 = 120.00 degreeC \n", + "R2 = R1(1+(alpha*(T1-T2))) = 21.00 ohm\n" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex7-pg40" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "##EX1.7\n", + "#calculate force of electron charge\n", + "import math\n", + "Ex=3;Ey=4;Ez=2##electric field\n", + "e=1.6*10**-19 ##electorn charge\n", + "print(\"E = 3ax + 4ay + 2az k V/m\")\n", + "print(\"e = 1.6*10**-19 C\")\n", + "print\"%s %.2e %s %.2e %s %.2e %s \"%(\" F=eE = \",Ex*e*1000,\"ax + \",Ey*e*1000,\"ay + \",Ez*e*1000,\"az N\") ##force\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "E = 3ax + 4ay + 2az k V/m\n", + "e = 1.6*10**-19 C\n", + " F=eE = 4.80e-16 ax + 6.40e-16 ay + 3.20e-16 az N \n" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex8-pg40" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "##Ex1.8\n", + "#calculate elctric field\n", + "import math\n", + "F=0.1*10**-12##force applied\n", + "e = 1.6*10**-19##electron charge\n", + "print\"%s %.2e %s %.2e %s \"%(\"F= \",F,\"N \"and \" e = \",e,\"C\")\n", + "print\"%s %.2f %s\"%(\"E = F/e =\",F/e,\"V/m\")##electric field\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "F= 1.00e-13 e = 1.60e-19 C \n", + "E = F/e = 625000.00 V/m\n" + ] + } + ], + "prompt_number": 8 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex9-pg41" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "##Ex1.9\n", + "#calculate charge of electron\n", + "import math\n", + "F = 3*(10**-12) ##force applied\n", + "E = 5*(10**-6) ##electric field\n", + "print\"%s %.2e %s\"%(\"F = \",F,\"N\")\n", + "print\"%s %.2e %s\"%(\"E = \",E,\"V/m\")\n", + "print\"%s %.2e %s\"%(\"Q= F/E = \",F/E,\"C\") ##chage\n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "F = 3.00e-12 N\n", + "E = 5.00e-06 V/m\n", + "Q= F/E = 6.00e-07 C\n" + ] + } + ], + "prompt_number": 9 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Ex10-pg44" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "##Ex1.10\n", + "#calculate force \n", + "import math\n", + "B = 2*10**-6 ##magnetic flux density\n", + "V = 4*10**6 ##electron velocity\n", + "e= 1.6*10**-19##elcetron charge\n", + "print\"%s %.2e %s\"%(\"B =\",B,\"ax wb/m.sq\")\n", + "print\"%s %.2f %s\"%(\"V =\",V,\"az m/s\")\n", + "print\"%s %.3e %s\"%(\"e = \",e, \"C\")\n", + "print\"%s %.2e %s\"%(\"F = e[VxB] =\",e*V*B,\"ay N\")##force\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "B = 2.00e-06 ax wb/m.sq\n", + "V = 4000000.00 az m/s\n", + "e = 1.600e-19 C\n", + "F = e[VxB] = 1.28e-18 ay N\n" + ] + } + ], + "prompt_number": 10 + }, + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "Ex11-pg44" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "##Ex1.11\n", + "#calculate force on electron due to field\n", + "import math\n", + "Hx = 1*10**-3 ##magnetic field in x-axis\n", + "Hy = 2*10**-3 ##magnetic field in y-axis\n", + "V = (4*10**6) ##electron velocity\n", + "micro_not=(4*math.pi*(10**-7)) ##permitivity in vaccum\n", + "e=1.6*10**-19 ##charge of electorn\n", + "print\"%s %.2e %s %.2e %s \"%(\" H = \",Hx,\"ax + \",Hy,\"ay A/m\")\n", + "print\"%s %.2f %s\"%(\"V = \",V,\"ay m/s\")\n", + "Bx = micro_not*Hx; By = micro_not*Hy ##magnetic flux density\n", + "print\"%s %.2e %s %.2e %s \"%(\"B = micro_not*H = \",Bx,\"ax + \",By,\"ay wb/m.sq\")\n", + "print\"%s %.2e %s \"%(\"F = e[VxB] = \",e*V*Bx,\"az N\") ##force on electron due to field\n", + "\n", + "\n", + "## note : there is a misprint in the textbook for the above problem\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " H = 1.00e-03 ax + 2.00e-03 ay A/m \n", + "V = 4000000.00 ay m/s\n", + "B = micro_not*H = 1.26e-09 ax + 2.51e-09 ay wb/m.sq \n", + "F = e[VxB] = 8.04e-22 az N \n" + ] + } + ], + "prompt_number": 11 + } + ], + "metadata": {} + } + ] +} \ No newline at end of file -- cgit