Browse Source

Merge branch 'develop_PDFReaderProNew_v4.7.0_AppStroe' of git.kdan.cc:Mac_PDF/PDF_Office into develop_PDFReaderProNew_v4.7.0_AppStroe

tangchao 1 day ago
parent
commit
8e6cf274d5

+ 17 - 12
PDF Office/PDF Master/Class/Purchase/DMG/Verification/KMVerificationMessageViewController.m

@@ -648,24 +648,29 @@ NSPopoverDelegate>
 }
 }
 
 
 - (IBAction)AIButtonAction:(NSButton *)sender {
 - (IBAction)AIButtonAction:(NSButton *)sender {
+    if ([[[KMMemberInfo shared] validFlag] isEqualToString:@"5"]) {
+        [[KMMemberPromptWC shared] showWindow:sender];
+        [KMMemberPromptWC shared].tipType = KMMemberTipTypeSignouting;
+    } else {
 #if VERSION_FREE
 #if VERSION_FREE
 #if VERSION_DMG
 #if VERSION_DMG
-    KMPurchaseEmbeddedWindowController *winC = [KMPurchaseEmbeddedWindowController currentCode:KMAISubscriptionYearTrailCodeKey_DMG];
-    [winC showWindow:nil];
-    [winC.window center];
+        KMPurchaseEmbeddedWindowController *winC = [KMPurchaseEmbeddedWindowController currentCode:KMAISubscriptionYearTrailCodeKey_DMG];
+        [winC showWindow:nil];
+        [winC.window center];
 #else
 #else
-//            self.window?.showWaitingView()
-    // AppStore 免费版本
-    IAPProductsManager *man = [IAPProductsManager defaultManager];
-    [man makeSubProduct:man.aiAllAccessPack12month_lite discount:man.isCancelAutoRenew];
-    
+        //            self.window?.showWaitingView()
+        // AppStore 免费版本
+        IAPProductsManager *man = [IAPProductsManager defaultManager];
+        [man makeSubProduct:man.aiAllAccessPack12month_lite discount:man.isCancelAutoRenew];
+        
 #endif
 #endif
 #else
 #else
-    // AppStore 付费版
-//            self.window?.showWaitingView()
-    IAPProductsManager *man = [IAPProductsManager defaultManager];
-    [man makeSubProduct:man.aiAllAccessPack12month_pro discount:man.isCancelAutoRenew];
+        // AppStore 付费版
+        //            self.window?.showWaitingView()
+        IAPProductsManager *man = [IAPProductsManager defaultManager];
+        [man makeSubProduct:man.aiAllAccessPack12month_pro discount:man.isCancelAutoRenew];
 #endif
 #endif
+    }
 }
 }
 
 
 - (IBAction)userButtonAction:(NSButton *)sender {
 - (IBAction)userButtonAction:(NSButton *)sender {

+ 19 - 13
PDF Office/PDF Master/MemberCenter/View/KMEnterVerificationCodeView.xib

@@ -28,17 +28,17 @@
             <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
             <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
             <subviews>
             <subviews>
                 <box boxType="custom" borderWidth="0.0" title="Box" translatesAutoresizingMaskIntoConstraints="NO" id="cZK-vl-C11">
                 <box boxType="custom" borderWidth="0.0" title="Box" translatesAutoresizingMaskIntoConstraints="NO" id="cZK-vl-C11">
-                    <rect key="frame" x="46" y="130" width="279" height="184"/>
+                    <rect key="frame" x="46" y="129" width="279" height="185"/>
                     <view key="contentView" id="Eh5-bs-cIE">
                     <view key="contentView" id="Eh5-bs-cIE">
-                        <rect key="frame" x="0.0" y="0.0" width="279" height="184"/>
+                        <rect key="frame" x="0.0" y="0.0" width="279" height="185"/>
                         <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                         <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                         <subviews>
                         <subviews>
                             <customView translatesAutoresizingMaskIntoConstraints="NO" id="GKZ-Rg-mDm">
                             <customView translatesAutoresizingMaskIntoConstraints="NO" id="GKZ-Rg-mDm">
-                                <rect key="frame" x="0.0" y="160" width="279" height="24"/>
+                                <rect key="frame" x="0.0" y="161" width="279" height="24"/>
                                 <subviews>
                                 <subviews>
                                     <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="QSF-lY-iwc">
                                     <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="QSF-lY-iwc">
-                                        <rect key="frame" x="-2" y="0.0" width="52" height="24"/>
-                                        <textFieldCell key="cell" lineBreakMode="clipping" title="Label" id="KuR-yV-OTv">
+                                        <rect key="frame" x="-2" y="0.0" width="283" height="24"/>
+                                        <textFieldCell key="cell" title="Label" id="KuR-yV-OTv">
                                             <font key="font" metaFont="system" size="20"/>
                                             <font key="font" metaFont="system" size="20"/>
                                             <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
                                             <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
                                             <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
                                             <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
@@ -46,9 +46,11 @@
                                     </textField>
                                     </textField>
                                 </subviews>
                                 </subviews>
                                 <constraints>
                                 <constraints>
+                                    <constraint firstItem="QSF-lY-iwc" firstAttribute="top" secondItem="GKZ-Rg-mDm" secondAttribute="top" id="L0D-4a-oq8"/>
+                                    <constraint firstAttribute="trailing" secondItem="QSF-lY-iwc" secondAttribute="trailing" id="W8l-3K-hvn"/>
                                     <constraint firstItem="QSF-lY-iwc" firstAttribute="centerY" secondItem="GKZ-Rg-mDm" secondAttribute="centerY" id="Yci-nm-hOo"/>
                                     <constraint firstItem="QSF-lY-iwc" firstAttribute="centerY" secondItem="GKZ-Rg-mDm" secondAttribute="centerY" id="Yci-nm-hOo"/>
                                     <constraint firstItem="QSF-lY-iwc" firstAttribute="leading" secondItem="GKZ-Rg-mDm" secondAttribute="leading" id="j0i-gE-mOI"/>
                                     <constraint firstItem="QSF-lY-iwc" firstAttribute="leading" secondItem="GKZ-Rg-mDm" secondAttribute="leading" id="j0i-gE-mOI"/>
-                                    <constraint firstAttribute="height" constant="24" id="zim-hQ-7KH"/>
+                                    <constraint firstAttribute="bottom" secondItem="QSF-lY-iwc" secondAttribute="bottom" id="utw-g3-Kxt"/>
                                 </constraints>
                                 </constraints>
                             </customView>
                             </customView>
                             <box boxType="custom" borderWidth="0.0" cornerRadius="1" title="Box" translatesAutoresizingMaskIntoConstraints="NO" id="Jyk-HC-L8i">
                             <box boxType="custom" borderWidth="0.0" cornerRadius="1" title="Box" translatesAutoresizingMaskIntoConstraints="NO" id="Jyk-HC-L8i">
@@ -80,21 +82,24 @@
                                 </constraints>
                                 </constraints>
                             </box>
                             </box>
                             <button translatesAutoresizingMaskIntoConstraints="NO" id="kJt-VF-e2C">
                             <button translatesAutoresizingMaskIntoConstraints="NO" id="kJt-VF-e2C">
-                                <rect key="frame" x="117" y="0.0" width="45" height="16"/>
+                                <rect key="frame" x="117" y="0.0" width="45" height="18"/>
                                 <buttonCell key="cell" type="bevel" title="Button" bezelStyle="rounded" alignment="center" imageScaling="proportionallyDown" inset="2" id="osJ-gh-dqA">
                                 <buttonCell key="cell" type="bevel" title="Button" bezelStyle="rounded" alignment="center" imageScaling="proportionallyDown" inset="2" id="osJ-gh-dqA">
                                     <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                                     <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                                     <font key="font" metaFont="system"/>
                                     <font key="font" metaFont="system"/>
                                 </buttonCell>
                                 </buttonCell>
+                                <constraints>
+                                    <constraint firstAttribute="height" constant="18" id="7Mp-X6-lcH"/>
+                                </constraints>
                                 <connections>
                                 <connections>
                                     <action selector="backButtonAction:" target="-2" id="1bI-9s-htJ"/>
                                     <action selector="backButtonAction:" target="-2" id="1bI-9s-htJ"/>
                                 </connections>
                                 </connections>
                             </button>
                             </button>
                             <customView translatesAutoresizingMaskIntoConstraints="NO" id="Cfy-N6-c4n">
                             <customView translatesAutoresizingMaskIntoConstraints="NO" id="Cfy-N6-c4n">
-                                <rect key="frame" x="0.0" y="134" width="279" height="14"/>
+                                <rect key="frame" x="0.0" y="134" width="279" height="15"/>
                                 <subviews>
                                 <subviews>
                                     <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="LZA-oE-Mth">
                                     <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="LZA-oE-Mth">
-                                        <rect key="frame" x="-2" y="-1" width="283" height="15"/>
-                                        <textFieldCell key="cell" lineBreakMode="truncatingMiddle" title="Label" id="oxN-El-oBZ">
+                                        <rect key="frame" x="-2" y="0.0" width="283" height="15"/>
+                                        <textFieldCell key="cell" title="Label" id="oxN-El-oBZ">
                                             <font key="font" metaFont="cellTitle"/>
                                             <font key="font" metaFont="cellTitle"/>
                                             <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
                                             <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
                                             <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
                                             <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
@@ -103,8 +108,9 @@
                                 </subviews>
                                 </subviews>
                                 <constraints>
                                 <constraints>
                                     <constraint firstAttribute="trailing" secondItem="LZA-oE-Mth" secondAttribute="trailing" id="2BW-ZP-EK7"/>
                                     <constraint firstAttribute="trailing" secondItem="LZA-oE-Mth" secondAttribute="trailing" id="2BW-ZP-EK7"/>
+                                    <constraint firstAttribute="bottom" secondItem="LZA-oE-Mth" secondAttribute="bottom" id="2G7-CZ-p09"/>
                                     <constraint firstItem="LZA-oE-Mth" firstAttribute="centerY" secondItem="Cfy-N6-c4n" secondAttribute="centerY" id="A9h-YE-nIV"/>
                                     <constraint firstItem="LZA-oE-Mth" firstAttribute="centerY" secondItem="Cfy-N6-c4n" secondAttribute="centerY" id="A9h-YE-nIV"/>
-                                    <constraint firstAttribute="height" constant="14" id="RTv-D8-mbf"/>
+                                    <constraint firstItem="LZA-oE-Mth" firstAttribute="top" secondItem="Cfy-N6-c4n" secondAttribute="top" id="IOf-9d-KFt"/>
                                     <constraint firstItem="LZA-oE-Mth" firstAttribute="leading" secondItem="Cfy-N6-c4n" secondAttribute="leading" id="jRx-ap-yh4"/>
                                     <constraint firstItem="LZA-oE-Mth" firstAttribute="leading" secondItem="Cfy-N6-c4n" secondAttribute="leading" id="jRx-ap-yh4"/>
                                 </constraints>
                                 </constraints>
                             </customView>
                             </customView>
@@ -142,7 +148,7 @@
                                             <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                                             <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                                             <subviews>
                                             <subviews>
                                                 <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="EBN-jV-4Nt">
                                                 <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="EBN-jV-4Nt">
-                                                    <rect key="frame" x="6" y="6" width="39" height="15"/>
+                                                    <rect key="frame" x="6" y="7" width="39" height="15"/>
                                                     <textFieldCell key="cell" lineBreakMode="clipping" alignment="center" title="Label" id="imF-dG-EJc">
                                                     <textFieldCell key="cell" lineBreakMode="clipping" alignment="center" title="Label" id="imF-dG-EJc">
                                                         <font key="font" metaFont="cellTitle"/>
                                                         <font key="font" metaFont="cellTitle"/>
                                                         <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
                                                         <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
@@ -186,6 +192,7 @@
                             <constraint firstItem="G5c-Rs-bm9" firstAttribute="top" secondItem="0ZO-1i-5x9" secondAttribute="bottom" constant="2" id="6Fy-5e-YkO"/>
                             <constraint firstItem="G5c-Rs-bm9" firstAttribute="top" secondItem="0ZO-1i-5x9" secondAttribute="bottom" constant="2" id="6Fy-5e-YkO"/>
                             <constraint firstAttribute="trailing" secondItem="GKZ-Rg-mDm" secondAttribute="trailing" id="FHK-fJ-oyA"/>
                             <constraint firstAttribute="trailing" secondItem="GKZ-Rg-mDm" secondAttribute="trailing" id="FHK-fJ-oyA"/>
                             <constraint firstItem="Jyk-HC-L8i" firstAttribute="leading" secondItem="Eh5-bs-cIE" secondAttribute="leading" id="Hef-Dw-hdR"/>
                             <constraint firstItem="Jyk-HC-L8i" firstAttribute="leading" secondItem="Eh5-bs-cIE" secondAttribute="leading" id="Hef-Dw-hdR"/>
+                            <constraint firstItem="kJt-VF-e2C" firstAttribute="top" secondItem="Jyk-HC-L8i" secondAttribute="bottom" constant="8" id="KvG-gR-wDT"/>
                             <constraint firstItem="G5c-Rs-bm9" firstAttribute="leading" secondItem="Eh5-bs-cIE" secondAttribute="leading" id="L3k-Xn-6SZ"/>
                             <constraint firstItem="G5c-Rs-bm9" firstAttribute="leading" secondItem="Eh5-bs-cIE" secondAttribute="leading" id="L3k-Xn-6SZ"/>
                             <constraint firstAttribute="trailing" secondItem="Cfy-N6-c4n" secondAttribute="trailing" id="Mja-0K-JQN"/>
                             <constraint firstAttribute="trailing" secondItem="Cfy-N6-c4n" secondAttribute="trailing" id="Mja-0K-JQN"/>
                             <constraint firstAttribute="trailing" secondItem="0ZO-1i-5x9" secondAttribute="trailing" id="OEI-ap-cb4"/>
                             <constraint firstAttribute="trailing" secondItem="0ZO-1i-5x9" secondAttribute="trailing" id="OEI-ap-cb4"/>
@@ -200,7 +207,6 @@
                         </constraints>
                         </constraints>
                     </view>
                     </view>
                     <constraints>
                     <constraints>
-                        <constraint firstAttribute="height" constant="184" id="9wC-Kf-nwb"/>
                         <constraint firstItem="kJt-VF-e2C" firstAttribute="centerX" secondItem="cZK-vl-C11" secondAttribute="centerX" id="OXJ-PV-PUz"/>
                         <constraint firstItem="kJt-VF-e2C" firstAttribute="centerX" secondItem="cZK-vl-C11" secondAttribute="centerX" id="OXJ-PV-PUz"/>
                         <constraint firstAttribute="width" constant="279" id="uM6-Q3-v1e"/>
                         <constraint firstAttribute="width" constant="279" id="uM6-Q3-v1e"/>
                     </constraints>
                     </constraints>

+ 7 - 3
PDF Office/PDF Master/MemberCenter/View/KMForgotPasswordView.xib

@@ -34,7 +34,7 @@
                                 <subviews>
                                 <subviews>
                                     <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="kIh-0S-6Hs">
                                     <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="kIh-0S-6Hs">
                                         <rect key="frame" x="-2" y="0.0" width="52" height="24"/>
                                         <rect key="frame" x="-2" y="0.0" width="52" height="24"/>
-                                        <textFieldCell key="cell" lineBreakMode="clipping" title="Label" id="jvP-Dt-Zdw">
+                                        <textFieldCell key="cell" title="Label" id="jvP-Dt-Zdw">
                                             <font key="font" metaFont="system" size="20"/>
                                             <font key="font" metaFont="system" size="20"/>
                                             <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
                                             <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
                                             <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
                                             <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
@@ -43,8 +43,9 @@
                                 </subviews>
                                 </subviews>
                                 <constraints>
                                 <constraints>
                                     <constraint firstItem="kIh-0S-6Hs" firstAttribute="centerY" secondItem="3vw-LG-Ask" secondAttribute="centerY" id="7Gr-Hs-Ai5"/>
                                     <constraint firstItem="kIh-0S-6Hs" firstAttribute="centerY" secondItem="3vw-LG-Ask" secondAttribute="centerY" id="7Gr-Hs-Ai5"/>
-                                    <constraint firstAttribute="height" constant="24" id="FOF-dD-RTM"/>
                                     <constraint firstItem="kIh-0S-6Hs" firstAttribute="leading" secondItem="3vw-LG-Ask" secondAttribute="leading" id="QGG-P2-mM6"/>
                                     <constraint firstItem="kIh-0S-6Hs" firstAttribute="leading" secondItem="3vw-LG-Ask" secondAttribute="leading" id="QGG-P2-mM6"/>
+                                    <constraint firstItem="kIh-0S-6Hs" firstAttribute="top" secondItem="3vw-LG-Ask" secondAttribute="top" id="gmr-GK-bYe"/>
+                                    <constraint firstAttribute="bottom" secondItem="kIh-0S-6Hs" secondAttribute="bottom" id="jfB-nZ-3zd"/>
                                 </constraints>
                                 </constraints>
                             </customView>
                             </customView>
                             <box boxType="custom" cornerRadius="1" title="Box" translatesAutoresizingMaskIntoConstraints="NO" id="UUC-6g-gWV">
                             <box boxType="custom" cornerRadius="1" title="Box" translatesAutoresizingMaskIntoConstraints="NO" id="UUC-6g-gWV">
@@ -111,7 +112,10 @@
                                 </connections>
                                 </connections>
                             </button>
                             </button>
                             <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Udq-aF-7R2">
                             <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Udq-aF-7R2">
-                                <rect key="frame" x="-2" y="66" width="283" height="16"/>
+                                <rect key="frame" x="-2" y="64" width="283" height="18"/>
+                                <constraints>
+                                    <constraint firstAttribute="height" constant="18" id="PAP-g6-bpB"/>
+                                </constraints>
                                 <textFieldCell key="cell" lineBreakMode="clipping" title="Label" id="cMR-6U-tUi">
                                 <textFieldCell key="cell" lineBreakMode="clipping" title="Label" id="cMR-6U-tUi">
                                     <font key="font" usesAppearanceFont="YES"/>
                                     <font key="font" usesAppearanceFont="YES"/>
                                     <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
                                     <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>

+ 2 - 0
PDF Office/PDF Master/MemberCenter/ViewModel/KMProductModel.swift

@@ -766,6 +766,8 @@ class KMProductModel: ObservableObject {
                     membershipPurchase(.advancedAddDevicesAllAccessPack12months_pro)
                     membershipPurchase(.advancedAddDevicesAllAccessPack12months_pro)
                 } else if platformsArray.count == 2 {
                 } else if platformsArray.count == 2 {
                     membershipPurchase(.advancedAdd2DevicesAllAccessPack12months_pro)
                     membershipPurchase(.advancedAdd2DevicesAllAccessPack12months_pro)
+                } else if KMMemberInfo.shared.vip_levels == "1" {
+                    membershipPurchase(.advancedAddDevicesAllAccessPack12months_pro)
                 } else {
                 } else {
                     membershipPurchase(.advancedAdd2DevicesAllAccessPack12months_pro)
                     membershipPurchase(.advancedAdd2DevicesAllAccessPack12months_pro)
                 }
                 }

+ 3 - 1
PDF Office/PDF Master/MemberCenter/WindowsController/KMProductCompareWC.swift

@@ -460,6 +460,8 @@ class KMProductCompareWC: NSWindowController {
                     advancedPlanPurchaseLabel.stringValue = model.getProductPrice(.advancedAddDevicesAllAccessPack12months_pro)
                     advancedPlanPurchaseLabel.stringValue = model.getProductPrice(.advancedAddDevicesAllAccessPack12months_pro)
                 } else if platformsArray.count == 2 {
                 } else if platformsArray.count == 2 {
                     advancedPlanPurchaseLabel.stringValue = model.getProductPrice(.advancedAdd2DevicesAllAccessPack12months_pro)
                     advancedPlanPurchaseLabel.stringValue = model.getProductPrice(.advancedAdd2DevicesAllAccessPack12months_pro)
+                } else if KMMemberInfo.shared.vip_levels == "1" {
+                    advancedPlanPurchaseLabel.stringValue = model.getProductPrice(.advancedAddDevicesAllAccessPack12months_pro)
                 } else {
                 } else {
                     advancedPlanPurchaseLabel.stringValue = model.getProductPrice(.advancedAdd2DevicesAllAccessPack12months_pro)
                     advancedPlanPurchaseLabel.stringValue = model.getProductPrice(.advancedAdd2DevicesAllAccessPack12months_pro)
                 }
                 }
@@ -1207,7 +1209,7 @@ class KMProductCompareWC: NSWindowController {
             guard let self = self else { return }
             guard let self = self else { return }
             if KMMemberInfo.shared.isLogin {
             if KMMemberInfo.shared.isLogin {
                 self.model.appStoreEquityVerification(notification) { success, msg in
                 self.model.appStoreEquityVerification(notification) { success, msg in
-                    DispatchQueue.main.async {
+                    DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 1.5) {//购买成功后,会员信息没有及时刷新
                         if success {
                         if success {
 //                            self.showAlert(message: NSLocalizedString("Binding Interest Success!", comment: ""))
 //                            self.showAlert(message: NSLocalizedString("Binding Interest Success!", comment: ""))
                             KMUserInfoVCModel().refreshUserInfo { success, msg,dic  in
                             KMUserInfoVCModel().refreshUserInfo { success, msg,dic  in